Inicio de sesión único (SSO) de Laravel SAML El complemento brinda la posibilidad de habilitar el inicio de sesión único SAML para sus aplicaciones laravel. Al utilizar el inicio de sesión único, puede usar solo una contraseña para acceder a su aplicación y servicios de laravel. Nuestro complemento es compatible con todos los proveedores de identidad compatibles con SAML. Aquí repasaremos una guía paso a paso para configurar el inicio de sesión único (SSO) entre Laravel y Azure B2C considerando Azure B2C como IdP.
Requisitos previos: descarga e instalación
Pasos para configurar el inicio de sesión único (SSO) de Azure B2C en Laravel
1. Configurar Azure B2C como proveedor de identidad
1.1 Registrar aplicaciones Azure B2C
Registre la aplicación Identity Experience Framework
Registre la aplicación Identity Experience Framework
- En Gestionar, seleccione Exponer una API.
- Seleccione Agregar un alcancey luego seleccione Guardar y continúe aceptando el URI de ID de aplicación predeterminado.
- Introduzca los siguientes valores para crear un ámbito que permita la ejecución de políticas personalizadas en su inquilino de Azure AD B2C:
- Nombre del alcance: suplantación de usuario
- Nombre para mostrar del consentimiento del administrador: Acceso IdentityExperienceFramework
- Descripción del consentimiento del administrador: Permita que la aplicación acceda a IdentityExperienceFramework en nombre del usuario que inició sesión.
- Seleccione Agregar alcance
Registre la aplicación ProxyIdentityExperienceFramework
- Seleccione Registros de aplicacionesY seleccione Nuevo registro.
- Para Nombre, ingrese ProxyIdentityExperienceFramework.
- En Tipos de cuenta admitidos, seleccione Solo cuentas en este directorio organizacional.
- En URI de redirección, utilice el menú desplegable para seleccionar Cliente público/nativo (móvil y escritorio).
- Para URI de redirección, ingrese myapp://auth.
- En Permisos, seleccione la casilla de verificación Otorgar consentimiento de administrador a los permisos openid y offline_access.
- Seleccione Registrarse.
- Grabar el ID de aplicación (cliente) para su uso en un paso posterior.
A continuación, especifique que la aplicación debe tratarse como un cliente público.
- En Gestionar, seleccione Autenticación.
- En Configuración avanzada, habilitar Permitir flujos de clientes públicos (seleccione Sí).
- Seleccione Guardar.
Ahora, otorgue permisos al alcance de la API que expuso anteriormente en el registro de IdentityExperienceFramework.
- En Gestionar, seleccione Permisos de API.
- En Permisos configurados, seleccione Agregar un permiso.
- Seleccione la Forma para Mis API pestaña, luego seleccione el IdentidadExperienciaMarco .
- En Permiso, Haga click en el botón suplantación de usuario alcance que usted definió anteriormente.
- Seleccione Agregar permisos. Como se indica, espere unos minutos antes de continuar con el siguiente paso.
- Seleccione Otorgue consentimiento de administrador para (su nombre de inquilino).
- Seleccione su cuenta de administrador actualmente registrada o inicie sesión con una cuenta en su inquilino de Azure AD B2C al que se le haya asignado al menos el rol de administrador de aplicaciones en la nube.
- Seleccione Sí.
- Seleccione Refrescary luego verifique que "Concedido por ..." aparece debajo Estado para los ámbitos: offline_access, openid y user_impersonation. Es posible que los permisos tarden unos minutos en propagarse.
Registre la aplicación de WordPress
- Seleccione Registros de aplicacionesY seleccione Nuevo registro.
- Introduzca un nombre para la aplicación, como por ejemplo: WordPress.
- En Tipos de cuenta admitidos, seleccione Cuentas en cualquier directorio organizacional o cualquier proveedor de identidad. Para autenticar usuarios con Azure AD B2C.
- En URI de redirección, seleccione Web y luego ingrese la URL ACS desde la Metadatos del proveedor de servicios pestaña del complemento miniOrange SAML.
- Seleccione Registrarse.
- En Gestionar, haga clic en Exponer una API.
- Haga clic en Establecer para el URI de ID de aplicación y luego haga clic en Guardar, aceptando el valor por defecto.
- Una vez guardado, copie el URI del ID de la aplicación y péguelo en el ID de entidad SP/emisor campo debajo del complemento laravel saml.
- Haga clic en Guardar.
1.2 Generar políticas de SSO
- Desde nuestro portal Azure B2C, navegue hasta la sección Descripción general de su inquilino B2C y registre su nombre de inquilino.
NOTA: Si su dominio B2C es b2ctest.onmicrosoft.com, entonces el nombre de su inquilino es b2ctest.
- Ingrese su Nombre del inquilino de Azure B2C a continuación, junto con el ID de la aplicación para IdentityExperienceFramework y
Aplicaciones ProxyIdentityExperienceFramework registradas en los pasos anteriores.
Haga clic en el elemento Generar políticas de Azure B2C para descargar las políticas de SSO.
Extraiga el archivo zip descargado. Contiene los archivos de política y el certificado (.pfx), que necesitará en los siguientes pasos.
1.3 Certificados de configuración
NOTA:
En el siguiente paso si el 'Marco de experiencia de identidad' no se puede hacer clic, entonces podría ser la razón por la que no tiene una suscripción activa de Azure AD B2C para ese inquilino. Puede encontrar los detalles sobre la suscripción a Azure AD B2C.
aquí y podrás crear un nuevo inquilino siguiendo los pasos aquí.
Cargar el certificado
- Inicia sesión en el Portal Azure y busque su inquilino de Azure AD B2C.
- En Políticas, seleccione Marco de experiencia de identidad y luego en Claves de política.
- Seleccione Agregar la extensión de Y seleccione Opciones > Cargar
- Introduzca el nombre como SamlIdpCert. El prefijo B2C_1A_ se agrega automáticamente al nombre de su clave.
- Usando el control de carga de archivos, cargue su certificado que se generó en los pasos anteriores junto con las políticas de SSO (tenantname-cert.pfx).
- Ingrese la contraseña del certificado como su nombre de inquilino y haga clic en Crear. Por ejemplo, si el nombre de su inquilino es xyzb2c.onmicrosoft.com, ingrese la contraseña como xyzb2c.
- Debería poder ver una nueva clave de política con el nombre B2C_1A_SamlIdpCert.
Crear la clave de firma
- En la página de descripción general de su inquilino de Azure AD B2C, en Políticas, seleccione Marco de experiencia de identidad.
- Seleccione Claves de política y luego seleccione Agregar la extensión de .
- Para , elija Generar.
- In Nombre, ingrese TokenSigningKeyContainer.
- Para Tipo de llave, seleccione RSA.
- Para Uso de claves, seleccione Firma.
- Seleccione Crear.
Crear la clave de cifrado
- En la página de descripción general de su inquilino de Azure AD B2C, en Políticas, seleccione Marco de experiencia de identidad.
- Seleccione Claves de política y luego seleccione Agregar la extensión de .
- Para , elija Generar.
- In Nombre, introduzca TokenEncryptionKeyContainer.
- Para Tipo de llave, seleccione RSA.
- Para Uso de claves, seleccione Cifrado.
- Seleccione Crear.
1.4 Cargar las Políticas
- Seleccione la Forma para Marco de experiencia de identidad elemento de menú en su inquilino B2C en Azure Portal.
- Seleccione Cargar política personalizada.
- Según el siguiente orden, cargue los archivos de políticas descargados en los pasos anteriores:
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- Regístrate o inicia sesión.xml
- PerfilEditar.xml
- Restablecer contraseña.xml
- Regístrate o inicia sesión SAML.xml
- A medida que carga los archivos, Azure agrega el prefijo B2C_1A_ a cada uno.
Ha configurado correctamente Azure B2C como IdP (proveedor de identidad) SAML para lograr el inicio de sesión único (SSO) de WordPress Azure B2C, lo que garantiza un inicio de sesión seguro en el sitio de WordPress (WP).
2. Configure el complemento Laravel SAML como proveedor de servicios
- Vaya a la miniOrange Laravel SAML 2.0 SSO complemento y haga clic en Elija El Archivo Botón junto al Subir datos de carne .
- Seleccione el archivo de metadatos que descargamos de su IDP y haga clic en Cargar .
- Haga clic en Configuración de prueba para probar si la configuración SAML que ha realizado es correcta. Tras una configuración de prueba exitosa, obtendrá los diferentes atributos de usuario devueltos por su proveedor de identidad en una tabla de configuración de prueba.
3. Opciones de inicio de sesión único
- Sus usuarios pueden iniciar el flujo de inicio de sesión único haciendo clic en el Single Sign On botón generado en su página de inicio de sesión. Si aún no tienes esta página, ejecuta php artesanal hacer: autenticación & php artesano migrar para generar el módulo de autenticación.
En esta guía, ha configurado correctamente Inicio de sesión único SAML de Azure B2C (inicio de sesión SSO de Azure AD) la elección de Azure B2C como proveedor de identidad más antigua y Laravel como SP utilizando el complemento miniOrange: inicio de sesión único SAML – inicio de sesión SSO. Esta solución garantiza que esté listo para implementar un acceso seguro a su sitio Laravel utilizando Inicio de sesión de Azure B2C credenciales en cuestión de minutos.
Más recursos