Descubra posibilidades ilimitadas con Drupal Headless SSO usando el protocolo SAML
Resumen
La solución de seguridad SSO sin interfaz gráfica de miniOrange realiza un inicio de sesión único (SSO) sin interrupciones entre la aplicación sin interfaz gráfica, el backend de Drupal y el proveedor de identidad (IdP). En este proceso de autenticación, los usuarios son redirigidos primero a la página de inicio de sesión del proveedor de identidad para su autenticación. Una vez que la autenticación se realiza correctamente, son redirigidos de nuevo a la aplicación frontend. En esta etapa, se genera un token web JSON (JWT) para verificar de forma segura la identidad del usuario y se envía al sitio web frontend. (Opcional: Este token puede utilizarse para la validación de la API al obtener información adicional de Drupal). A continuación, este documento describe los pasos para configurar el inicio de sesión único (SSO) para una configuración headless de Drupal.
Requisitos previos
- Módulo miniOrange SAML SP : Este módulo permite SSO entre el sitio Drupal y el proveedor SAML.
- Módulo de autenticación de API REST y JSON :
- Una vez realizado el SSO, esto módulo Ayuda a generar el JWT y enviar este token a la aplicación frontend.
- Este token se puede usar en el encabezado junto con la solicitud de API a Drupal para autenticar/validar cualquier API adicional. El módulo de autenticación de API REST y JSON validará el JWT antes de permitir las llamadas a la API para garantizar un acceso seguro.
Configuraciones de backend
- Módulo SAML miniOrange: Consulte esto Guia de preparacion para establecer el SSO entre el sitio Drupal y el proveedor de identidad SAML deseado.
- Módulo de autenticación de API REST y JSON:
- Para autenticar las API de Drupal mediante JWT, configure el método de autenticación basado en JWT en el módulo siguiendo este procedimiento. Guía de configuración.
- Configurar la URL de inicio de sesión en el frontend:
- Para obtener la URL de inicio de sesión, vaya al módulo miniorange_saml y luego navegue hasta Configuración del proveedor de servicios Pestaña. Copie el enlace SSO e intégrelo en la página de inicio de sesión del frontend.
- Configurar el punto final del frontend:
- El módulo de autenticación de la API REST y JSON genera un JWT correspondiente al usuario conectado. Para obtener este JWT, configure la URL de redireccionamiento en el módulo de autenticación de la API siguiendo estos pasos:
- Navegue a la pestaña Configuración Avanzada pestaña del Autenticación de API REST y JSON .
- En la sección Configuración del punto final del token para el SSO sin interfaz gráfica En la sección, introduzca el punto final de la aplicación frontend a la que se redirigirá el navegador tras el proceso de inicio de sesión único (SSO) con un código y un parámetro de estado de retransmisión. A continuación, haga clic en el botón Guardar configuración del punto final del token .
- Configurar la URL de redirección de cierre de sesión del frontend:
- Después de cerrar sesión en el sitio Drupal, el usuario será redirigido a la interfaz. Para configurar este punto final de la aplicación, vaya a la pestaña "Iniciar sesión". mininaranja_saml .
- En la sección 'URL de redirección predeterminada después de cerrar sesión' Campo de texto, ingrese el punto final del lado del frontend donde el usuario debe ser redirigido después de cerrar la sesión.
Descubriendo las escenas del frontend
Esta sección destaca todo lo que un usuario debe hacer en el frontend. También describe los posibles cambios que el usuario observará en el frontend. Comencemos:
- Flujo de inicio de sesión:
- Inicie el inicio de sesión desde la aplicación frontend utilizando la URL de SSO.
- El usuario es redirigido al IdP configurado.
- Introduzca las credenciales del usuario para autenticarse.
- Después de una autenticación exitosa, el usuario es redirigido nuevamente al frontend con el código y el estado del relé como parámetros de consulta en la URL.
- Utilice el código obtenido en el paso anterior para realizar una solicitud al endpoint del token de Drupal. Para ello, siga los pasos a continuación:
- Localice el punto final del token en el Configuraciones de puntos finales de token para SSO sin interfaz gráfica Más detalles. Consulte la imagen a continuación para obtener más información.
- Ejemplo para realizar una solicitud POST con el código recibido:
- Supongamos que el usuario recibió un código '(received_code)' en el front-end.
- Ahora, use el siguiente formato para realizar una solicitud POST usando este código.
Nota: El estado del relé es el parámetro desde el cual se inicia el inicio de sesión o, si el parámetro de destino es la URL de inicio de sesión actual, entonces el estado del relé será el valor del parámetro de destino.
Formato del cartero:
HTTP: POST /drupal10_1_1/web/getToken HTTP/1.1 Host: localhost Tipo de contenido: application/x-www-form-urlencoded Longitud del contenido: 35 código=MjEOxuSuQyd1vUE7Ft5K5fT8Syh25c CURL: curl --location 'http://localhost/drupal10_1_1/web/getToken' \ --header 'Tipo de contenido: application/x-www-form-urlencoded' \ --data-urlencode 'código=MjEOxuSuQyd1vUE7Ft5K5fT8Syh25c'
- Inicie un cierre de sesión desde la aplicación frontend. (usando URL- {url-base-drupal}/usuario/cerrar sesión)
- Asegúrese de la configuración del cierre de sesión único.
- Esto cerrará la sesión del usuario tanto del sitio Drupal como del IdP.
- Después de cerrar sesión en el sitio Drupal, el usuario será redirigido a la punto final configurado.
Nota: Para ver el formato de las solicitudes de API que incluyen el token JWT en el encabezado, consulte este Guia de preparacion.
Artículos Relacionados
Gracias por su respuesta. Nos pondremos en contacto con usted pronto.
Algo salió mal. Por favor envíe su consulta nuevamente

Contáctenos