Saltar al contenido principal

Aplicación de escritorio Qt

Un ejemplo de aplicación de escritorio Qt para Casdoor.

Cómo ejecutar el ejemplo

Prerrequisitos

Inicialización

Necesitas inicializar 7 parámetros de cadena:

NombreDescripciónArchivo
endpointEl host/dominio de tu servidor Casdoormainwindow.h
client_idEl ID de Cliente de tu aplicación Casdoormainwindow.h
client_secretEl Secreto de Cliente de tu aplicación Casdoormainwindow.h
certificateLa clave pública para el certificado de la aplicación Casdoormainwindow.h
org_nameEl nombre de tu organización Casdoormainwindow.h
app_nameEl nombre de tu aplicación Casdoormainwindow.h
redirect_urlLa ruta de la URL de callback para tu aplicación Casdoor, será http://localhost:8080/callback si no se proporcionamainwindow.h

Si no configuras el parámetro endpoint, este proyecto usará http://localhost:8000 como el servidor Casdoor predeterminado.

Ejecutando la Aplicación

Usando Qt Creator

  1. Abrir casdoor-cpp-qt-example.pro
  2. Establecer el INCLUDEPATH de OpenSSL en casdoor-cpp-qt-example.pro
  3. Presiona Ctrl + R para iniciar

Vista previa

Después de ejecutar esta aplicación de escritorio Qt, se mostrará una nueva ventana en tu escritorio.

índice

Si haces clic en el botón Sign In, se mostrará una ventana de inicio de sesión en tu escritorio.

iniciar sesión

Después de un inicio de sesión exitoso, se mostrará una ventana de perfil de usuario en tu escritorio, mostrando tu información de usuario.

perfil de usuario

Puedes previsualizar todo el proceso en la siguiente imagen GIF.

gif de vista previa

Cómo Integrar

Abriendo la Ventana de Inicio de Sesión

// Load and display the login page of Casdoor
m_webview->page()->load(*m_signin_url);
m_webview->show();

Escuchando el Evento de Aplicación Abierta

// 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()));

Usando el Código de Autorización para Obtener la Información del Usuario

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