Inicio de sesión único (SSO) de ASP.NET OAuth utilizando Keycloak como proveedor de OAuth
El módulo ASP.NET OAuth Single Sign-On (SSO) brinda la posibilidad de habilitar el inicio de sesión único OAuth para sus aplicaciones ASP.NET. Al utilizar el inicio de sesión único, puede utilizar solo una contraseña para acceder a su aplicación y servicios ASP.NET. Nuestro módulo es compatible con todos los proveedores de identidad compatibles con OAuth. Aquí repasaremos una guía paso a paso para configurar el inicio de sesión único (SSO) entre ASP.NET y Keycloak como proveedor de OAuth.
Para configurar el conector, extraiga el
asp-net-oauth-sso-module.zip, encontrará un archivo DLL
miniorange-oauth-sso.dll, un archivo de configuración
oauthsso.config y integración.md archivo que contiene los pasos para agregar el módulo a su aplicación.
1. Agregue el conector en su aplicación.
Agregar miniorange-oauth-sso.dll en la carpeta bin (donde existen sus otros archivos DLL) para su aplicación.
Registrarse miniorangeoauthsso módulo en su aplicación de acuerdo con los pasos proporcionados en el integración.md .
Agregue el archivo de configuración proporcionado oauthsso.config en el directorio raíz de su aplicación.
Después de la integración, abra el navegador y explore el panel del conector con la siguiente URL: https:// <your-application-base-url>/?ssoaction=config
Si aparece la página de registro o la página de inicio de sesión, ha agregado exitosamente el conector miniOrange oauth sso para su aplicación.
Agregar reino: Ahora inicie sesión en la consola de administración de Keycloak y navegue hasta el dominio deseado. Puedes agregar un nuevo reino seleccionando
Agregar reino .
Crear reino: entrar: Nombre del reino y tenga a mano el nombre del dominio, ya que será necesario configurarlo más adelante con el complemento ASP.NET OAuth. Haga clic en CREAR para agregar reino.
Crear cliente OpenID: Haga clic en el elemento
Nuestros Clientes y elija Para crear para crear un nuevo cliente. Ingrese la identificación del cliente y seleccione el protocolo del cliente.
conexión abierta y seleccione Guardar.
Cambiar tipo de acceso: Después de crear el cliente, cambie su tipo de acceso a confidencial.
Ingrese URI de redireccionamiento válidos: Copiar URL de devolución de llamada desde el complemento y luego haga clic en AHORRAR. Ex -- https:///oauth/devolución de llamada
Obtener secreto del cliente: Ahora necesitamos obtener el secreto del cliente. Entonces selecciona Nuestros Clientes y seleccione las credenciales y copie su secreto desde aquí.
Configuración del complemento: Ingresar copiado
Secreto del cliente bajo Secreto del cliente campo en el complemento ASP.NET OAuth e ingrese el Nombre del cliente en el campo ID de cliente.
Agregar usuario: Necesitamos agregar usuarios al reino que puedan acceder a los recursos del reino. Clickea en el Usuarios y elegir Agregar un nuevo usuario.
Configuración de usuario: Una vez creado el usuario, se deben realizar las siguientes acciones.
1) Establecer una contraseña para ello, así que haga clic en
Credenciales
y establezca una nueva contraseña para el usuario.
NOTA: Desactivar Temporal hará que la contraseña del usuario sea permanente.
Usuario del mapa: Necesitamos asignar al usuario un rol. Haga clic en
Mapeos de roles y asigne el rol deseado al usuario entre los roles disponibles y haga clic en agregar seleccionado.
Crear PAPEL: Sus aplicaciones utilizarán el rol para definir qué usuarios estarán autorizados a acceder a la aplicación. Clickea en el Roles y elija Agregar Rol.
Paso 2.1: Pasos para recuperar grupos de capas de claves
Crear grupos: Haga clic en el elemento Grupos y elige New para crear un nuevo grupo.
Asignar usuario al grupo: Seleccione el usuario que desea agregar al grupo. Elija la opción Grupos de la pestaña y luego seleccione el nombre del grupo y haga clic en Únete.
Mapeador de grupos de capas de teclas: Ahora, para obtener los detalles del grupo, debemos realizar el mapeo del cliente con la membresía del grupo; de lo contrario, no se recuperarán los detalles del grupo. Entonces en sección de clientes, seleccione su cliente y luego haga clic en mapeador->crear.
Ahora, seleccione tipo de mapeador as Membresía de Grupo y entrar en el
nombre y nombre del reclamo del token es decir, el nombre del atributo correspondiente a qué grupos se recuperarán. Desactive la ruta completa del grupo, Agregar al token de ID y Agregar para acceder a las opciones del token, y haga clic en Guardar.
Nota: -- Si la ruta completa está en la ruta del grupo, se recuperará; de lo contrario, se recuperará el nombre del grupo.
Paso 2.2: Pasos para recuperar roles de Keycloak
Mapeador de roles de capa de claves: Ahora, para obtener detalles de la función, debemos realizar el mapeo del cliente con la membresía de la función; de lo contrario, no se recuperarán los detalles de la función. Entonces en sección de clientes, seleccione su cliente y luego haga clic en mapeador->crear.
Ahora, seleccione tipo de mapeador as rol del reino de usuario Membresía e ingresar al nombre . y nombre de reclamo de token es decir, el nombre del atributo correspondiente a qué grupos se recuperarán. Agregar al token de ID y Agregar para acceder a las opciones del token, y haga clic en Guardar.
Agregar reino: Ahora inicie sesión en la consola de administración de Keycloak y navegue hasta el dominio deseado. Puedes agregar un nuevo reino seleccionando
Crear reino .
Crear reino: entrar: Nombre del reino y tenga a mano el nombre del dominio, ya que será necesario configurarlo más adelante con el complemento del cliente OAuth. Haga clic en CREAR para agregar reino.
Crear cliente OpenID: Haga clic en el elemento
Nuestros Clientes y elija Crear cliente para crear un nuevo cliente. Ingrese el ID del cliente y seleccione el protocolo del cliente
conexión abierta y haga clic en Siguiente.
Active la característica de Autenticación del cliente y Autorización palanca.
Desplácese hacia abajo hasta la sección Configuración de acceso y entra tu
URL de devolución de llamada/redireccionamiento
que obtendrá de su complemento miniOrange presente en su lado Cliente bajo el URL de devolución de llamada campo de texto.
Vaya a la Credenciales pestaña, copia la Secreto del cliente y téngalo a mano, ya que lo necesitaremos más adelante mientras configuramos el complemento de inicio de sesión único ASP.NET OAuth.
Configuración del complemento: Ingresar copiado Secreto del cliente bajo
Secreto del cliente campo en el complemento ASP.NET OAuth e ingrese el
ID de cliente (Lazy section loading) bajo la sección ID de cliente .
Agregar usuario: Necesitamos agregar usuarios al reino que puedan acceder a los recursos del reino. Clickea en el Usuarios y haga clic en
Crear nuevo usuario para agregar un nuevo usuario.
Configuración de usuario: Una vez creado el usuario, se deben realizar las siguientes acciones.
1) Establecer una contraseña para ello, así que haga clic en
Credenciales
y establezca una nueva contraseña para el usuario.
NOTA: Desactivar Temporal hará que la contraseña del usuario sea permanente.
Usuario del mapa: Necesitamos asignar al usuario un rol. Haga clic en
Mapeos de roles y asigne el rol deseado al usuario entre los roles disponibles.
Crear PAPEL: Sus aplicaciones utilizarán el rol para definir qué usuarios estarán autorizados a acceder a la aplicación. Clickea en el Roles y elija Crear Rol.
3. Configurar el cliente miniOrange ASP.NET OAuth
Después de configurar su proveedor de OAuth, le proporcionará
ID de cliente, secreto de cliente, punto final autorizado, punto final de token de acceso
y Obtener punto final de información de usuario. Configure estos valores en los campos respectivos.
Complete todos los datos requeridos y haga clic en Guardar configuración.
4. Configuración de prueba
Después de guardar la configuración, haga clic en el
Configuración de prueba para verificar si ha configurado correctamente.
Si la configuración es exitosa, obtendrá Nombre de los atributos y
Valores de atributo en la ventana Configuración de prueba. La siguiente captura de pantalla muestra un resultado exitoso.
5. Mapeo de atributos
Asigne los nombres de atributos proporcionados por su servidor OAuth con los atributos de su aplicación ASP.NET que se encuentran en la sección Asignación de atributos y haga clic en
Guardar asignación de atributos.
Nota: Todos los atributos asignados se almacenarán en la sesión para que pueda acceder a ellos en su aplicación.
6. Código de integración
Usted puede encontrar el código de integración en la pestaña Código de integración en el conector. Simplemente copie y pegue ese fragmento de código donde quiera acceder a los atributos del usuario.
7. Agregue el siguiente enlace en su solicitud de inicio de sesión único (SSO)
Utilice la siguiente URL como enlace en su aplicación desde donde desea realizar SSO: http://base-url/?ssoaction=login
Por ejemplo puedes usarlo como: <a href="http://base-url/?ssoaction=login”>Log in</a>"
Puede configurar el módulo de inicio de sesión único (SSO) ASP.NET SAML 2.0 con cualquier proveedor de identidades como ADFS, Azure AD, Bitium, Centrify, G Suite, JBoss Keycloak, Okta, OneLogin, Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2 o incluso con su propio proveedor de identidades personalizado.