ข้ามไปยังเนื้อหาหลัก

แอปพลิเคชันเดสก์ท็อป Qt

ตัวอย่างแอปพลิเคชันเดสก์ท็อป Qtสำหรับ Casdoor

วิธีการรันตัวอย่าง

ข้อกำหนดเบื้องต้น

การเริ่มต้นใช้งาน

คุณต้องเริ่มต้นด้วยการกำหนดค่าพารามิเตอร์สตริง 7 ตัว:

ชื่อคำอธิบายไฟล์
endpointโฮสต์/โดเมนของเซิร์ฟเวอร์ Casdoor ของคุณmainwindow.h
client_idClient ID ของแอปพลิเคชัน Casdoor ของคุณmainwindow.h
client_secretClient Secret ของแอปพลิเคชัน Casdoor ของคุณmainwindow.h
certificateกุญแจสาธารณะสำหรับใบรับรองของแอปพลิเคชัน Casdoormainwindow.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

  1. เปิด casdoor-cpp-qt-example.pro
  2. ตั้งค่า INCLUDEPATH ของ OpenSSL ใน casdoor-cpp-qt-example.pro
  3. กด Ctrl + R เพื่อเริ่มต้น

ตัวอย่าง

หลังจากรันแอปพลิเคชันเดสก์ท็อป Qt นี้แล้ว จะมีหน้าต่างใหม่ปรากฏบนเดสก์ท็อปของคุณ

ดัชนี

หากคุณคลิกปุ่ม Sign In, หน้าต่างเข้าสู่ระบบจะปรากฏบนเดสก์ท็อปของคุณ

เข้าสู่ระบบ

หลังจากเข้าสู่ระบบสำเร็จ หน้าต่างโปรไฟล์ผู้ใช้จะปรากฏบนเดสก์ท็อปของคุณ แสดงข้อมูลผู้ใช้ของคุณ

โปรไฟล์ผู้ใช้

คุณสามารถดูตัวอย่างกระบวนการทั้งหมดในภาพ GIF ต่อไปนี้

ตัวอย่าง 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);