แอปพลิเคชันเดสก์ท็อป Qt
ตัวอย่างแอปพลิเคชันเดสก์ท็อป Qtสำหรับ Casdoor
วิธีการรันตัวอย่าง
ข้อกำหนดเบื้องต้น
การเริ่มต้นใช้งาน
คุณต้องเริ่มต้นด้วยการกำหนดค่าพารามิเตอร์สตริง 7 ตัว:
| ชื่อ | คำอธิบาย | ไฟล์ |
|---|---|---|
| endpoint | โฮสต์/โดเมนของเซิร์ฟเวอร์ Casdoor ของคุณ | mainwindow.h |
| client_id | Client ID ของแอปพลิเคชัน Casdoor ของคุณ | mainwindow.h |
| client_secret | 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()));
การใช้ Auth Code เพื่อรับข้อมูลผู้ใช้
// Get the token and parse it with the JWT library
std::string token = m_casdoor->GetOAuthToken(code.toStdString());
auto decoded = m_casdoor->ParseJwtToken(token);