Qt 데스크톱 앱
Casdoor를 위한 Qt 데스크톱 앱 예제.
예제를 실행하는 방법
사전 요구 사항
초기화
7개의 문자열 매개변수를 초기화해야 합니다:
이름 | 설명 | 파일 |
---|---|---|
endpoint | 당신의 Casdoor 서버 호스트/도메인 | mainwindow.h |
client_id | 당신의 Casdoor 애플리케이션의 클라이언트 ID | mainwindow.h |
client_secret | 당신의 Casdoor 애플리케이션의 클라이언트 비밀번호 | mainwindow.h |
certificate | Casdoor 애플리케이션의 인증서에 대한 공개 키 | mainwindow.h |
org_name | 당신의 Casdoor 조직의 이름 | mainwindow.h |
app_name | 당신의 Casdoor 애플리케이션의 이름 | mainwindow.h |
redirect_url | 당신의 Casdoor 애플리케이션에 대한 콜백 URL의 경로, 제공되지 않으면 http://localhost:8080/callback 이 될 것입니다 | mainwindow.h |
endpoint
매개변수를 설정하지 않으면, 이 프로젝트는 기본 Casdoor 서버로 http://localhost:8000을 사용할 것입니다.
애플리케이션 실행
Qt Creator 사용
casdoor-cpp-qt-example.pro
열기casdoor-cpp-qt-example.pro
에서 OpenSSL의INCLUDEPATH
설정- 시작하려면
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);