Guía para configurar el inicio de sesión único (SSO) de SAML de ASP.NET Framework con Azure B2C como IDP
Resumen
Módulo de inicio de sesión único (SSO) de ASP.NET SAML da la capacidad de habilitar Inicio de sesión único de SAML para sus aplicaciones ASP.NET. Usando Inicio de sesión único Solo puedes usar una contraseña para acceder a tu Aplicación ASP.NET y servicios. Nuestro módulo es compatible con todos los Proveedores de identidad compatibles con SAMLAquí repasaremos una guía paso a paso para configurar Inicio de sesión único (SSO) entre ASP.NET y Azure B2C en vista de Azure B2C como desplazado interno.
Soporte de plataforma: El módulo ASP.NET SAML SSO es compatible con los marcos ASP.NET 3.5 y superiores.
Requisitos previos: descarga e instalación
- Para instalar el Paquete NuGet de SSO SAML miniOrange En su aplicación .NET, simplemente instale el paquete NuGet miniOrange encima de su aplicación.
PM> NuGet\Install-Package miniOrange.SAML.SSO
- Después de la instalación, abra su navegador y navegue hasta el panel del módulo con la siguiente URL:
http(s)<your-dotnet-application-base-url>?ssoaction=config
- Si aparece la página de registro o la página de inicio de sesión, habrá agregado exitosamente el módulo miniOrange SAML SSO en su aplicación.
- Regístrese o inicie sesión con su cuenta haciendo clic en Registrarse Botón para configurar el módulo.
- Después de registrarse exitosamente, recibirá una clave de licencia de prueba en su dirección de correo electrónico registrada.
- Para activar el módulo, puede:
- Escriba el clave de licencia Recibido por correo electrónico en el campo de entrada provisto.
- Sube el archivo de licencia que descargaste haciendo clic en el Haga clic aquí .
OR
- A continuación, marque la casilla “He leído las condiciones anteriores y deseo activar el módulo” y haga clic en el botón Activar licencia .
Pasos de configuración
1. Proporcionar metadatos de la aplicación .NET al proveedor de identidad de Azure B2C
A continuación se detallan dos formas con las que puede obtener los metadatos de SAML SP para configurarlos en el extremo de su proveedor de identidad.
A] Uso de URL de metadatos SAML o archivo de metadatos
- En la sección Menú de configuración del complemento, buscar Configuración del proveedor de servicios. Debajo, puede encontrar la URL de los metadatos, así como la opción para descargar los metadatos SAML.
- Copie la URL de metadatos o descargue el archivo de metadatos para configurarlo en el extremo de su proveedor de identidad.
- Puede consultar la captura de pantalla a continuación:
B] Carga manual de metadatos
- En el campo Configuración del proveedor de servicios En la sección, puede copiar manualmente los metadatos del proveedor de servicios como ID de entidad de SP, URL de ACS, URL de cierre de sesión único y compártalo con su proveedor de identidad para su configuración.
- Puede consultar la captura de pantalla a continuación:
Registre la aplicación Identity Experience Framework
- Iniciar sesión en Portal B2C de Azure.
- Desde el inquilino de Azure AD B2C, seleccione Registros de aplicacionesY seleccione Nuevo registro.
- Para Nombre, ingrese IdentityExperienceFramework.
- En Tipos de cuenta admitidos, seleccione Solo cuentas en este directorio organizacional.
- En URI de redirección, seleccione Web y luego ingrese "https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com", donde your-tenant-name es el nombre de dominio de su inquilino de Azure AD B2C.
Nota: :En el siguiente paso, si el 'Permisos' La sección no está visible, entonces podría ser la razón por la que no tiene una suscripción activa de AzureAD B2C para ese inquilino. Puede encontrar los detalles sobre la suscripción a AzureAD B2C. aquí y podrás crear un nuevo inquilino siguiendo los pasos aquí.
- En Permisos, Haga click en el botón Otorgar consentimiento de administrador a los permisos openid y offline_access Casilla de verificación.
- Haga clic en Registrarse.
- Grabar el ID de aplicación (cliente) para su uso en un paso posterior.
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 de alcance: suplantación de usuario
- Nombre para mostrar del consentimiento del administrador: Acceso a IdentityExperienceFramework
- Descripción del consentimiento del administrador:Permitir 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 ASP.NET
- Seleccione Registros de aplicaciones y luego seleccione Nuevo registro.
- Ingrese un nombre para la aplicación, como por ejemplo: WP-app.
- 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 Configuración del proveedor de servicios pestaña del complemento miniOrange ASP.NET 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 navegue hasta el Metadatos del proveedor de servicios pestaña del complemento.
- Pegue el valor copiado debajo del ID de entidad SP/emisor campo proporcionado en esta pestaña.
- Haga clic en Guardar.
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 su nombre de inquilino es b2ctest.
- Ingrese su Nombre del inquilino de Azure B2C a continuación, junto con el ID de la aplicación para las aplicaciones IdentityExperienceFramework y 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.
Configurar y cargar certificados
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í.
- 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 nombre de inquilino y haga clic en "Crear". Por ejemplo, si el nombre de 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.
Sube 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 ASP.NET.
2. Configurar los metadatos del proveedor de identidad de AzureB2C en la aplicación .NET
- Haga clic en el elemento Seleccione su IDP Botón para configurar un nuevo proveedor de identidad.
- En la sección Ajustes Plugin seleccione el módulo AzureB2C como su proveedor de identidad de la lista que se muestra.
A continuación se detallan dos formas con las que puede configurar los metadatos de su proveedor de identidad SAML en el módulo.
A] Cargue metadatos usando el botón Cargar metadatos IDP:
- Si su proveedor de identidad le ha proporcionado la URL de metadatos o el archivo de metadatos (solo formato .xml), simplemente puede configurar los metadatos del proveedor de identidad en el módulo usando el Cargar metadatos de IDP .
- Copie la URL de metadatos o descargue el archivo de metadatos para configurarlo en el extremo de su proveedor de identidad.
- Puede consultar la captura de pantalla a continuación:
- Puedes elegir cualquiera de las opciones según el formato de metadatos que tengas disponible.
B] Configure los metadatos del proveedor de identidad manualmente:
- Después de configurar su Proveedor de identidad, te proporcionará ID de entidad de IDP, URL de inicio de sesión único de IDP y Certificado SAML X509 campos respectivamente.
- Haga clic en Guardar para guardar los datos de su IDP.
3. Prueba de SSO de SAML
- Después de cargar los detalles de los metadatos, navegue hasta el Configuración del proveedor de identidad sección. Pase el cursor sobre el Seleccionar acciones desplegable y haga clic en Configuración de prueba.
- La siguiente captura de pantalla muestra un resultado exitoso. Haga clic en Integración SSO para continuar con la integración SSO.
- Si experimenta algún error en el extremo del módulo, se le mostrará una ventana similar a la que se muestra a continuación.
- Para solucionar el error, puede seguir los pasos a continuación:
- En Solucionar problemas pestaña, habilite la opción para recibir los registros del complemento.
- Una vez habilitado, podrá recuperar los registros del complemento navegando a Ajustes Plugin pestaña y haciendo clic en Configuración de prueba.
- Descargue nuestra archivo de registro del menú Solucionar problemas pestaña para ver qué salió mal.
- Puedes compartir el archivo de registro con nosotros en aspnetsupport@xecurify.com y nuestro equipo se comunicará con usted para resolver su problema.
4. Mapeo de atributos
- Después de probar la configuración, asigne los atributos de su aplicación a los atributos del proveedor de identidad (IdP).
- En el menú de la izquierda del módulo miniOrange ASP.NET SAML SSO, haga clic en Mapeo de atributos/roles pestaña como se muestra en la imagen.
- Si desea pasar atributos adicionales de su IdP, ingrese el nombre del atributo y el valor del atributo correspondiente en Mapeo de atributos personalizados.
- Nota: Todos los atributos mapeados se almacenarán en la sesión para que puedas acceder a ellos en tu aplicación.
- Una vez asignados los atributos, haga clic en Guardar asignación de atributos para aplicar cambios
5. Código de integración
- Estos pasos le permiten recuperar la información del usuario SSO en su aplicación en forma de sesión.
- También puedes mirar el recorrido de instalación para comprender cómo funcionaría la integración de SSO en su aplicación de módulo asp.net.
- Simplemente copie y pegue ese fragmento de código donde quiera acceder a los atributos del usuario.
- Nota: Con el módulo de prueba, los datos del usuario autenticado se almacenan en variables de sesión. Nuestro plugin premium permite configurar notificaciones de usuario mediante autenticación basada en encabezados, cookies de formularios y JWT.
6. Configuración de inicio de sesión
- Hover en Seleccionar acciones y haga clic en Copiar enlace SSO.
- Utilice la siguiente URL como enlace en la aplicación desde donde desea realizar el SSO:
https://<asp.net-module-base-url>/?ssoaction=login
- Por ejemplo, puedes usarlo como:
<a href="https://<asp.net-module-base-url>/?ssoaction=login">Log
in</a>
7. Configuración de cierre de sesión
- Utilice la siguiente URL como enlace a su aplicación desde donde desea realizar SLO:
https://<asp.net-module-base-url>/?ssoaction=logout
- Por ejemplo, puedes usarlo como:
<a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log
out</a>
Artículos Relacionados
Ponte en contacto
Comuníquese con nosotros en aspnetsupport@xecurify.comNuestro equipo le ayudará a configurar el SSO SAML de ASP.NET Framework. Le ayudará a seleccionar la solución o el plan más adecuado según sus necesidades.
