El plugin de inicio de sesión único (SSO) SAML para Laravel permite habilitar el inicio de sesión único SAML para tus aplicaciones Laravel. Con el inicio de sesión único, puedes usar una sola contraseña para acceder a tu aplicación y servicios Laravel. Nuestro plugin es compatible con todos los proveedores de identidad compatibles con SAML. A continuación, te mostramos una guía paso a paso para configurar el inicio de sesión único (SSO) entre Laravel y Azure B2C, considerando Azure B2C como proveedor de identidad.
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.
- Seleccionar 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.
- Seleccionar Agregar alcance
Registre la aplicación ProxyIdentityExperienceFramework
- Seleccionar 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.
- Seleccionar 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í).
- Seleccionar 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 el elemento 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.
- Seleccionar Agregar permisos. Como se indica, espere unos minutos antes de continuar con el siguiente paso.
- Seleccionar 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.
- Seleccionar Sí: .
- Seleccionar 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
- Seleccionar 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.
- Seleccionar 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 está disponible, es posible que no tenga una suscripción activa de Azure AD B2C para ese inquilino. Puede encontrar más información sobre la suscripción de Azure AD B2C aquí y crear un nuevo inquilino siguiendo los pasos que se indican 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.
- Seleccionar Agregar 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.
- Seleccionar Claves de política y luego seleccione Agregar .
- Para Opciones, elija Generar.
- In Nombre, ingrese TokenSigningKeyContainer.
- Para Tipo de llave, seleccione RSA.
- Para Uso de claves, seleccione Firma.
- Seleccionar 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.
- Seleccionar Claves de política y luego seleccione Agregar .
- Para Opciones, elija Generar.
- In Nombre, introduzca TokenEncryptionKeyContainer.
- Para Tipo de llave, seleccione RSA.
- Para Uso de claves, seleccione Cifrado.
- Seleccionar Crear.
1.4 Cargar las Políticas
- Seleccione el elemento Marco de experiencia de identidad elemento de menú en su inquilino B2C en Azure Portal.
- Seleccionar 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 el inicio de sesión único SAML de Azure B2C (inicio de sesión SSO de Azure AD) seleccionando Azure B2C como IdP y Laravel como SP mediante el complemento miniOrange-SAML Single Sign On – SSO Login. Esta solución garantiza que podrá implementar el acceso seguro a su sitio Laravel con las credenciales de inicio de sesión de Azure B2C en cuestión de minutos.
Más Recursos