تطبيق سطح المكتب Qt
مثال على تطبيق سطح المكتب Qt لـ Casdoor Qt desktop app example
كيفية تشغيل المثال
المتطلبات الأساسية
التهيئة
تحتاج إلى تهيئة 7 معاملات نصية:
الاسم | الوصف | الملف |
---|---|---|
endpoint | مضيف أو نطاق خادم Casdoor الخاص بك | mainwindow.h |
client_id | معرف العميل لتطبيق Casdoor الخاص بك | mainwindow.h |
client_secret | سر العميل لتطبيق Casdoor الخاص بك | mainwindow.h |
certificate | المفتاح العام لشهادة تطبيق Casdoor | mainwindow.h |
org_name | اسم مؤسسة Casdoor الخاصة بك | mainwindow.h |
app_name | اسم تطبيق Casdoor الخاص بك | mainwindow.h |
redirect_url | مسار عنوان URL للرد الخاص بتطبيق Casdoor، سيكون http://localhost:8080/callback إذا لم يتم توفيره | mainwindow.h |
إذا لم تقم بتعيين معامل endpoint
، سيستخدم هذا المشروع http://localhost:8000 كخادم Casdoor افتراضي.
تشغيل التطبيق
استخدام Qt Creator
- افتح
casdoor-cpp-qt-example.pro
- اضبط
INCLUDEPATH
لـ OpenSSL فيcasdoor-cpp-qt-example.pro
- اضغط
Ctrl + R
للبدء
معاينة
بعد تشغيل تطبيق سطح المكتب Qt هذا، سيظهر نافذة جديدة على سطح المكتب الخاص بك.
إذا نقرت على زر Sign In
، ستظهر نافذة تسجيل الدخول على سطح المكتب الخاص بك.
بعد تسجيل الدخول بنجاح، ستظهر نافذة ملف المستخدم على سطح المكتب الخاص بك، وتعرض معلومات المستخدم الخاصة بك.
يمكنك معاينة العملية بأكملها في الصورة المتحركة GIF التالية.
كيفية الدمج
فتح نافذة تسجيل الدخول
// Load and display the login page of Casdoor
m_webview->page()->load(*m_signin_url);
m_webview->show();
الاستماع إلى حدث فتح التطبيق
// Initialize the TcpServer object and listen on port 8080
m_tcpserver = new QTcpServer(this);
if (!m_tcpserver->listen(QHostAddress::LocalHost, 8080)) {
qDebug() << m_tcpserver->errorString();
close();
}
connect(m_tcpserver, SIGNAL(newConnection()), this, SLOT(on_tcp_connected()));
استخدام رمز المصادقة للحصول على معلومات المستخدم
// Get the token and parse it with the JWT library
std::string token = m_casdoor->GetOAuthToken(code.toStdString());
auto decoded = m_casdoor->ParseJwtToken(token);