Saltar al contenido principal

Cómo habilitar el inicio de sesión único

Introducción

Has conectado Casdoor y configurado más de una aplicación en una organización. Quieres que los usuarios inicien sesión una vez en cualquier aplicación de la organización y luego puedan iniciar sesión cuando vayan a otra aplicación sin ningún clic adicional.

Ofrecemos esta característica de inicio de sesión único. Para habilitarlo, solo necesitas:

  • Habilitar el botón de inicio de sesión automático.
  • Rellenar la URL de la página de inicio.
  • Agregar una función de Inicio de Sesión Silencioso a la página de inicio de la aplicación.
nota

El proceso básico de inicio de sesión proporcionado por Casdoor permite a los usuarios iniciar sesión en otras aplicaciones de la organización seleccionando al usuario que está actualmente conectado o utilizando otra cuenta.

Después de habilitar el inicio de sesión automático, no se mostrará el cuadro de selección y el usuario conectado iniciará sesión directamente.

Configuración

  1. Rellenar el campo "home". Puede ser la página de inicio de la aplicación o la página de inicio de sesión.

sso_home.png 2. Habilitar el botón de inicio de sesión automático.

sso_signin.png

Agregar Inicio de Sesión Silencioso

De hecho, implementamos el inicio de sesión automático llevando parámetros en la URL. Por lo tanto, tus aplicaciones necesitan tener un método para activar el inicio de sesión después de saltar a la URL. Proporcionamos el casdoor-react-sdk para ayudarte a implementar rápidamente esta característica. Puedes ver los detalles en use-in-react.

información

Cómo funciona

  1. En la URL de la página de inicio de la aplicación, llevaremos el parámetro silentSignin.
  2. En tu página de inicio, determina si necesitas iniciar sesión silenciosamente (automáticamente) comprobando el parámetro silentSignin. Si silentSignin === 1, la función debería devolver el componente SilentSignin, que te ayudará a iniciar una solicitud de inicio de sesión. Dado que tienes habilitado el inicio de sesión automático, los usuarios iniciarán sesión automáticamente sin hacer clic.

Agregar Inicio de Sesión Emergente

La característica de "inicio de sesión emergente" abrirá una pequeña ventana. Después de iniciar sesión en Casdoor en la ventana secundaria, enviará la información de autenticación a la ventana principal y luego se cerrará automáticamente. Implementamos esta característica llevando parámetros en la URL.

información

Cómo usar

Usa el método popupSignin() en el casdoor-js-sdk para implementar rápidamente esta característica. Puedes ver una demostración en casdoor-nodejs-react-example.

Cómo funciona

  1. En la URL de la página de inicio de la aplicación, llevaremos el parámetro popup.
  2. Cuando popup=1 esté en los parámetros de inicio de sesión, Casdoor enviará code y state como un mensaje a la ventana principal y terminará de obtener el token en la ventana principal usando el SDK.

Usando SSO

La configuración está completa. A continuación, te mostraremos cómo usar el inicio de sesión automático.

información

Asegúrate de que tu aplicación pueda redirigir a la página de perfil del usuario. La API getMyProfileUrl(account, returnUrl) se proporciona en nuestro SDK para cada idioma.

Abre la página de perfil y ve a la página "Inicio" (ruta de URL /). Verás la lista de aplicaciones proporcionada por la organización. Cabe destacar que solo los usuarios de organizaciones distintas a "built-in" pueden ver la lista de aplicaciones en la página "Inicio". Todos los administradores globales (aquellos en la organización "built-in") no pueden verla.

sso_homepage.png

Haz clic en un mosaico de la lista de aplicaciones y saltará a la URL de la página de inicio de esa aplicación con el parámetro GET ?silentSignin=1. Se iniciará sesión automáticamente en la aplicación si la aplicación se ha integrado con Casdoor SSO (por lo que reconocerá el parámetro ?silentSignin=1 y realizará un inicio de sesión silencioso en segundo plano).