메인 콘텐츠로 건너뛰기

Qt 데스크톱 앱

Casdoor를 위한 Qt 데스크톱 앱 예제.

예제를 실행하는 방법

사전 요구 사항

초기화

7개의 문자열 매개변수를 초기화해야 합니다:

이름설명파일
endpoint당신의 Casdoor 서버 호스트/도메인mainwindow.h
client_id당신의 Casdoor 애플리케이션의 클라이언트 IDmainwindow.h
client_secret당신의 Casdoor 애플리케이션의 클라이언트 비밀번호mainwindow.h
certificateCasdoor 애플리케이션의 인증서에 대한 공개 키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 사용

  1. casdoor-cpp-qt-example.pro 열기
  2. casdoor-cpp-qt-example.pro에서 OpenSSL의 INCLUDEPATH 설정
  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()));

인증 코드를 사용하여 사용자 정보 가져오기

// Get the token and parse it with the JWT library
std::string token = m_casdoor->GetOAuthToken(code.toStdString());
auto decoded = m_casdoor->ParseJwtToken(token);