แอปพลิเคชันเดสก์ท็อป 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);