Resultados de la búsqueda :

×

Inicio de sesión único (SSO) SAML para Laravel usando Azure B2C como IDP


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

  • Abra una ventana del símbolo del sistema y cambie el directorio de trabajo a su Directorio principal de la aplicación Laravel.
  • Ingrese el siguiente comando.
    composer require miniorange/saml-laravel-free
  • Inicio de sesión único de Laravel SSO ingrese commond
  • Nota: Si utiliza Laravel 5.4 o una versión anterior, deberá agregar el siguiente valor al array ' providers ' en su archivo app.php , que se encuentra en la carpeta project\config : provider\ssoServiceProvider::class (Puede comprobar su versión actual de Laravel con el comando php artisan --version ).

  • Laravel Single Sign On SSO agrega el siguiente valor
  • Después de la instalación exitosa del paquete, vaya a su aplicación Laravel en el navegador e ingrese https://<your-host>/mo_admin en la barra de direcciones.
  • El paquete comenzará a configurar su base de datos y luego lo redirigirá a la página de registro de administrador.
  • Regístrese o inicie sesión con su cuenta haciendo clic en Registrarse Botón para configurar el complemento.
  • Configuración del complemento SSO de inicio de sesión único de Laravel
  • Después de iniciar sesión, verá el Configuración del proveedor de servicios opción, donde obtendrá los metadatos del proveedor de servicios. Mantenga los metadatos a mano, ya que serán necesarios más adelante para configurar paso 1.
  • Configuración del proveedor de servicios SSO de inicio de sesión único de Laravel

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

    mini naranja img Registre la aplicación Identity Experience Framework
    • Inicie sesión en el portal Azure B2C
    • Desde el inquilino de Azure AD B2C, seleccione Registros de aplicacionesy luego seleccione Nuevo registro.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en el portal Laravel
    • Para Nombre, ingrese IdentityExperienceFramework.
    • En Tipos de cuenta admitidos, seleccione Solo cuentas en este directorio organizacional.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Registrar una aplicación
    • En URI de redirección, seleccione Web y luego escriba https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, donde your-tenant-name es el nombre de dominio del inquilino de Azure AD B2C.
    • NOTA:

      En el siguiente paso, si la sección "Permisos" no está visible, es posible que no tenga una suscripción activa de Azure AD B2C para ese inquilino. Puede encontrar información detallada sobre la suscripción de Azure AD B2C aquí y crear un nuevo inquilino siguiendo los pasos que se indican aquí.


    • En Permisos, seleccione la casilla de verificación Otorgar consentimiento de administrador a los permisos openid y offline_access.
    • Seleccionar Registrarse.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - URL de redireccionamiento
    • Grabar el ID de aplicación (cliente) para su uso en un paso posterior.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - ID de cliente de aplicación
    mini naranja img 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Exponer una API
    • Introduzca los siguientes valores para crear un ámbito que permita la ejecución de políticas personalizadas en su inquilino de Azure AD B2C:
      1. Nombre del alcance: suplantación de usuario
      2. Nombre para mostrar del consentimiento del administrador: Acceso IdentityExperienceFramework
      3. 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
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - ámbitos personalizados
    mini naranja img 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Directorio original
    • 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Registrarse
    • Grabar el ID de aplicación (cliente) para su uso en un paso posterior.
    • Inicio de sesión único (SSO) de Azure B2C para WordPress - Inicio de sesión único (SSO) de Azure en WordPress - proxy de aplicación
    mini naranja img 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - autenticación de proxy
    mini naranja img 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - autenticación
    • Seleccione el elemento Mis API pestaña, luego seleccione el IdentidadExperienciaMarco .
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Permisos de API
    • 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Mis API
    • Seleccionar Otorgue consentimiento de administrador para (su nombre de inquilino).
    • Azure B2C LaravelSSO: inicio de sesión único (SSO) de Azure en Laravel: administrador de subvenciones
    • 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.
    • Azure B2C LaravelSSO: inicio de sesión único (SSO) de Azure en Laravel: B2C, estado y acceso de administrador
    mini naranja img 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Tipos de cuenta admitidos
    • 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Registro de la aplicación
    • 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.
    • Inicio de sesión único (SSO) de SAML utilizando Azure B2C como proveedor de identidad (IdP), para SAML 2.0 Azure B2C, aplicación WP Exponer un inicio de sesión sso
    • 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - ID de inquilino B2C Reco
    • 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.

    • Nombre del inquilino de Azure B2C:
      ID de la aplicación IdentityExperienceFramework:
      ID de la aplicación ProxyIdentityExperienceFramework:


    • 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í.

    mini naranja img Cargar el certificado
    • Inicia sesión en el Portal Azure y busque su inquilino de Azure AD B2C.
    • Azure B2C Laravel SSO: inicio de sesión único (SSO) de Azure en Laravel-framework
    • En Políticas, seleccione Marco de experiencia de identidad y luego en Claves de política.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - 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.
    • Azure B2C Laravel SSO: inicio de sesión único (SSO) de Azure en Laravel: creación de una 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.
    mini naranja img 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Crear la clave de firma
    • Seleccionar Crear.
    mini naranja img 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - Cree la clave de 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.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en WordPress - Cargue las políticas
    • Seleccionar Cargar política personalizada.
    • Azure B2C Laravel SSO - Inicio de sesión único (SSO) de Azure en Laravel - marco de experiencia de identidad
    • 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 .
  • Configuración del proveedor de identidad SSO de inicio de sesión único de Laravel
  • 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.
  • Configuración de prueba de SSO de inicio de sesión único de Laravel Resultado de la prueba SSO de inicio de sesión único de Laravel

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.

  • Botón de inicio de sesión único SSO de Laravel

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

¡Hola!

¿Necesitas ayuda? ¡Estamos aquí!

múltiples proveedores