Qt desktop app
The casdoor-cpp-qt-example shows Casdoor sign-in in a Qt desktop app.
Run the example
Передумови
Ініціалізація
Set these 7 string parameters:
| Назва | Опис | Файл |
|---|---|---|
| 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 |
Default endpoint: http://localhost:8000 if not set.
Running
Qt Creator
- Відкрити
casdoor-cpp-qt-example.pro - Встан овити
INCLUDEPATHOpenSSL уcasdoor-cpp-qt-example.pro - Натисніть
Ctrl + R, щоб почати
Попередній перегляд

Click Sign In to open the login window. After sign-in, the user profile is shown.

Integration
Open the login window
// Load and display the login page of Casdoor
m_webview->page()->load(*m_signin_url);
m_webview->show();
Listen for the callback (TCP)
// 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);