Inicio de sesión único (SSO) con Keycloak en Magento 2 | Inicio de sesión único (SSO) en Magento con credenciales de Keycloak
Resumen
La capa de llave SSO de Magento Permite un inicio de sesión seguro y sin problemas en su Magento mediante Keycloak como proveedor de OAuth y OpenID Connect. Con el inicio de sesión SSO de Keycloak en Magento, los usuarios pueden acceder a la tienda con sus credenciales de inicio de sesión de Keycloak. Esto significa que, con nuestra extensión, los usuarios de Keycloak pueden iniciar sesión en su tienda Magento 2 con sus credenciales de inicio de sesión de Keycloak.
Nuestros Inicio de sesión en Magento 2 Keycloak La extensión proporciona una integración segura de inicio de sesión único (SSO) con funciones avanzadas como la asignación de atributos, la asignación de roles y el control de acceso. Mejora la seguridad del sitio al garantizar que solo los usuarios verificados puedan iniciar sesión o registrarse en su sitio Magento. Con un sencillo proceso de configuración de SSO de Magento Keycloak, la extensión agiliza la autenticación de usuarios y mejora la gestión general del acceso. Siga la guía a continuación para instalar y configurar Keycloak Magento SSO sin esfuerzo.
Haga clic aquí para leer más sobre las características adicionales de las extensiones Magento OAuth Single Sign-On (OAuth & OpenID Connect Client).
Pasos de la instalación
- Usando el compositor
- Instalación manual
Requisitos previos: descarga e instalación
- En primer lugar, Descargar Keycloak e instalarlo.
- Inicie el servidor de capa de claves según su versión de capa de clave. (Vea la tabla de abajo)
| Para Keycloak versión 16 y anteriores |
Vaya al directorio raíz de keycloak papelera independiente.sh |
| Para Keycloak versión 17 y superior |
Vaya al directorio raíz de keycloak papelera kc.bat y ejecute los siguientes comandos.
|
Pasos de configuración
1. Configurar la extensión SSO de miniOrange
- En la extensión miniOrange Magento SSO, navegue a la pestaña Aplicación, seleccione OAuth/Openid, y haga clic en Capa clave .
- Copia el URL de devolución de llamada de la extensión. Lo necesitarás para Capa clave configuración.
2. Configurar Keycloak como proveedor de OAuth para el inicio de sesión SSO de Magento Keycloak
Seleccione la versión de Keycloak:
- Agregar reino: Ahora inicie sesión en la consola de administración de Keycloak y navegue hasta el reino que desee. Puede agregar un nuevo reino seleccionando Agregar reino .
- Crear reino: entrar: Nombre del reino y mantenga el nombre del reino a mano ya que será necesario más adelante para configurarlo. Realm en el complemento OAuth Client. 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 openeid 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: Copie la URL de devolución de llamada de la extensión SSO de Magento Keycloak 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 del cliente 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 elige Agregar un nuevo usuario.
- Configuración de usuario: Después de crear el usuario, es necesario realizar la siguiente acción.
- 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: Tus aplicaciones utilizarán el rol para definir qué usuarios estarán autorizados a acceder a la aplicación. Haz clic en el Roles y elija Agregar Rol.
- Crear grupos: Haga clic en el elemento Grupos y elija New para crear un nuevo grupo.
- Asignar usuario al grupo: Seleccione el usuario que desea agregar al grupo. Elija la opción Grupos en 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 los grupos que se buscarán. Desactive la ruta de grupo completa, las opciones Agregar a token de ID y Agregar a token de acceso y haga clic en Guardar.
- Mapeador de roles de capa de claves: Ahora, para obtener los detalles del rol, necesitamos realizar la asignación de cliente con la membresía del rol, de lo contrario, no se obtendrán los detalles del rol. 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 los grupos a los que se buscará. Agregue a las opciones de token de ID y Agregar a token de acceso y haga clic en Guardar.
- Agregar reino: Ahora inicie sesión en la consola de administración de Keycloak y navegue hasta el reino que desee. Puede agregar un nuevo reino seleccionando Crear reino .
- Crear reino: entrar: Nombre del reino y mantenga el nombre del reino a mano ya que será necesario más adelante para configurarlo. Realm en el complemento OAuth Client. 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 la identificación del cliente y seleccione el protocolo del cliente. conexión openeid 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 la extensión Magento Keycloak SSO presente en 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 al configurar la extensión SSO de Magento Keycloak.
- Configuración del complemento: Ingresar copiado Secreto del cliente bajo Secreto del cliente campo en el complemento OAuth Client e ingrese el ID de cliente (Lazy section loading) bajo la sección ID de cliente .
- Agregar usuario: Necesitamos agregar usuarios al reino que podrán acceder a los recursos del reino. Haga clic en el botón Usuarios y haga clic en Crear nuevo usuario para agregar un nuevo usuario.
- Configuración de usuario: Después de crear el usuario, es necesario realizar la siguiente acción.
- 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: Tus aplicaciones utilizarán el rol para definir qué usuarios estarán autorizados a acceder a la aplicación. Haz clic en el Roles y elija Crear Rol.
- Agregar reino: Ahora inicie sesión en la consola de administración de Keycloak y navegue hasta el reino que desee. Puede agregar un nuevo reino seleccionando Crear reino .
- Crear reino: entrar: Nombre del reino y mantenga el nombre del reino a mano ya que será necesario más adelante para configurarlo. Realm en el complemento OAuth Client. 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 la identificación del cliente y seleccione el protocolo del cliente. conexión openeid 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 la extensión Magento Keycloak SSO 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 al configurar la extensión SSO de Magento Keycloak.
- Configuración del complemento: Ingresar copiado Secreto del cliente bajo Secreto del cliente campo en el complemento OAuth Client e ingrese el ID de cliente (Lazy section loading) bajo la sección ID de cliente .
- Agregar usuario: Necesitamos agregar usuarios al reino que podrán acceder a los recursos del reino. Haga clic en el botón Usuarios y haga clic en Crear nuevo usuario para agregar un nuevo usuario.
- Configuración de usuario: Después de crear el usuario, es necesario realizar la siguiente acción.
- 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.
- Ahora, ingrese el Nombre del proveedor de OAuth, ID de cliente, Secreto del cliente, <b></b><b></b> y puntos finales proporcionados.
- Consulte la siguiente tabla para configurar el alcance y puntos finales para Keycloak versión 18 y superior en la extensión.
- Consulte la siguiente tabla para configurar el Alcance y puntos finales para Keycloak versión 17 y anteriores en la extensión .
- Haga clic en el elemento Guardar para guardar la configuración
- Haga clic en el elemento Configuración de prueba .
- Verá todos los valores devueltos por su proveedor OAuth a Magento en una tabla. Si no ve ningún valor para Nombre, Apellido, Correo electrónico o Nombre de usuario, configure los ajustes necesarios en su proveedor OAuth para que se devuelva esta información.
- Busque su aplicación Keycloak y haga clic Editar en el Menú de acciones.
- Haga clic en Configuración de la tienda del menú menú de la izquierda.
- En la sección Configuración de la tienda, seleccione el sitio web donde desea activar SSO y marque la opción Habilitar SSO para este sitio.
- Mostrar el botón SSO en la página de inicio de sesión: Muestra el botón SSO en la página de inicio de sesión del cliente del sitio web seleccionado.
- Crear usuarios automáticamente: Tiene la opción de crear automáticamente usuarios de clientes durante el proceso de inicio de sesión único (SSO) si aún no existen. Al marcar la casilla correspondiente, se activa esta función.
- Función de redirección automática: Redirige automáticamente a los usuarios a la página de inicio de sesión del proveedor OAuth, ya sea desde la página de inicio de sesión de Magento o desde cualquier página del sitio web.
- Vaya a la página de inicio de sesión del cliente y verá el botón de inicio de sesión único (SSO) en su interfaz. Haga clic en él y pruebe el SSO.
- Iniciará sesión correctamente en Magento.
- Habilitar SSO para administradores: Muestra el botón SSO en la página de inicio de sesión del administrador.
- Texto del botón SSO de administrador: Establece la etiqueta que se muestra en el botón SSO en la página de inicio de sesión del administrador (por ejemplo, Iniciar sesión a través de Keycloak).
- Crear automáticamente usuarios administradores: Crea automáticamente un usuario administrador en Magento cuando inicia sesión a través de SSO por primera vez.
- Redirección automática desde el administrador: Redirige automáticamente a los usuarios administradores a la página de inicio de sesión del proveedor OAuth desde la página de inicio de sesión del administrador.
- URL de puerta trasera: Una URL de puerta trasera le permite iniciar sesión en su panel de administración usando credenciales de administrador predeterminadas en caso de que quede bloqueado.
- Visita tu página de inicio de sesión de administrador y verás el botón de inicio de sesión único (SSO). Haz clic en él para iniciar sesión como administrador.
- Después de iniciar sesión exitosamente en Magento como administrador, será redirigido al panel de control del backend de Magento.
- Habilitar para clientes: Esta opción le permite activar SSO sin cabeza para los clientes.
-
URL de inicio de sesión único (SSO) del cliente: Esta URL se utiliza para iniciar el SSO del cliente desde aplicaciones headless. Añada esta URL de SSO a su aplicación headless.
- Formato de ejemplo:
https://<your-magento-domain>/mosso/actions/SendSSORequest?relayState={Store_URL}/headless_store_url/{Headless_URL}&app_name=Keycloak AD - {URL de la tienda}: Introduzca la URL de su tienda Magento.
- {URL sin encabezado}: Ingrese la URL de su aplicación headless donde debe enviarse el token del cliente.
- Después de un SSO exitoso, se envía un token de cliente a la URL sin interfaz gráfica.
Por ejemplo:{Headless_URL}?customer_token=...
- Formato de ejemplo:
- Token OAuth:Habilite esta opción para enviar el token JWT del proveedor OAuth (Keycloak) junto con el token del cliente.
- Vencimiento del token del cliente: Puede establecer el tiempo de vencimiento (en minutos) para el token del cliente.
- URL de frontend de lista blanca: Aquí puedes agregar las URL que pueden recibir el token de cliente. Este solo se enviará a las URL permitidas.
- Habilitar para administradores: Al igual que para los clientes, esta opción activa el SSO sin cabeza para los administradores.
- URL de inicio de sesión único (SSO) del administrador: Esta URL inicia el SSO de administrador desde aplicaciones sin cabeza.
- Caducidad del token de administrador: Establezca el tiempo de expiración (en minutos) para el token de administrador.
- URL de frontend de lista blanca: Los tokens de administrador solo se envían a las URL permitidas. Debe asegurarse de que cualquier URL que reciba un token de administrador esté en la lista.
- Vaya a la Asignación de atributos Sección para configurar el mapeo de atributos del cliente.
- Activar Mapeo de atributos del cliente y seleccione casilla de verificación la opción de Actualizar atributos del cliente.
- Verás campos como Correo electrónico, Nombre, y Apellido en Mapeo de atributos del cliente.
- Asigne estos campos seleccionando las opciones apropiadas en el menú desplegable.
- Si necesita agregar más atributos, haga clic en el + Agregar atributos del cliente botón y seleccione el atributo apropiado de la desplegable.
- En la sección Atributo del cliente sección, habilite la asignación de atributos de dirección y seleccione la opción casilla de verificación para actualizar Atributos de la dirección del cliente.
- Verás campos como Dirección, Código Postal, Ciudad, Estado, y otros bajo Mapeo de direcciones de clientes.
- Asigne estos campos seleccionando las opciones apropiadas en el menú desplegable.
- Si necesita agregar atributos de dirección adicionales, haga clic en el + Agregar atributos de dirección botón y elija el atributo apropiado del menú desplegable.
- En la sección Asignación de atributos de administración sección, habilitar Asignación de atributos de administración y seleccione el casilla de verificación actualizar Atributo de administrador.
- Verás campos como Correo electrónico, Nombre de usuario Nombre, y Apellido en Asignación de atributos de administración.
- Asigne estos campos seleccionando las opciones apropiadas en el menú desplegable.
- Si necesita agregar más atributos, haga clic en el + Agregar atributos de administrador botón y seleccione el atributo apropiado de la desplegable.
- Magento utiliza el concepto de roles, diseñado para que el propietario del sitio pueda controlar lo que los usuarios pueden y no pueden hacer dentro del sitio. La asignación de roles permite asignar roles específicos a los usuarios de un grupo determinado en el proveedor OAuth.
- Seleccione el atributo de su proveedor de identidad que contiene información de grupo/rol para usuarios administradores y clientes en el menú desplegable.
- En la configuración de Mapeo de grupos de clientes, el administrador de la tienda puede definir qué grupo de clientes de Magento debe asignarse en función de la información del grupo recibida del proveedor de identidad (IdP) durante el inicio de sesión único (SSO).
- Habilite la casilla de verificación “Actualizar grupo de frontend en SSO” si desea que Magento actualice el grupo de clientes cada vez que un usuario inicia sesión a través de SSO.
- Utilice el menú desplegable Grupo predeterminado para seleccionar los grupos de Magento que se deben asignar a un usuario cuando el proveedor de identidad no devuelve información del grupo o cuando el grupo recibido no coincide con ninguna asignación configurada.
- Ingrese los valores del grupo de proveedores de identidad contra los grupos de clientes de Magento correspondientes según sea necesario.
- A los usuarios que pertenecen a un grupo específico en el proveedor de identidad se les asignará automáticamente el grupo de Magento asignado durante el inicio de sesión único.
- Ejemplo: Si el valor del grupo del proveedor de identidad está asignado al grupo General en Magento, a cualquier usuario con ese grupo en el IdP se le asignará el grupo de clientes General al iniciar sesión único.
- Habilite la casilla de verificación “Actualizar roles de backend en SSO” si desea que Magento actualice los roles de administrador cada vez que un usuario inicia sesión a través de SSO.
- Utilice el menú desplegable Grupo predeterminado para seleccionar el rol de Magento que se debe asignar a un usuario cuando el proveedor de identidad no devuelve información del grupo o cuando el grupo recibido no coincide con ninguna asignación configurada.
- Ingrese los valores del grupo Proveedor de identidad contra los roles de administrador de Magento correspondientes según sea necesario.
- A los usuarios que pertenecen a un grupo específico en el proveedor de identidad se les asignará automáticamente el grupo de Magento asignado durante el inicio de sesión único.
- Ejemplo: Si el valor del grupo del proveedor de identidad está asignado al grupo General en Magento, a cualquier usuario con ese grupo en el IdP se le asignarán los roles de administrador general al iniciar sesión único.
- Soluciones de seguridad Magento
- ¿Qué es el inicio de sesión único (SSO)?
- Documentación para desarrolladores de Okta para OAuth 2.0 y OpenID Connect
- Complemento de inicio de sesión único (SSO) OAuth de Magento.
- 1) Establecer una contraseña para ello, así que haga clic en Credenciales y establecer una nueva contraseña para el usuario.
NOTA: Deshabilitar la opción Temporal hará que la contraseña del usuario sea permanente.
Paso 1.1: Pasos para obtener grupos de Keycloak [De primera calidad]
Nota: -- Si la ruta completa está en la ruta del grupo, se recuperará; de lo contrario, se recuperará el nombre del grupo.
Paso 1.2: Pasos para obtener los roles de Keycloak [De primera calidad]
- 1) Establecer una contraseña para ello, así que haga clic en Credenciales y establecer una nueva contraseña para el usuario.
NOTA: Deshabilitar la opción Temporal hará que la contraseña del usuario sea permanente.
- 1) Establecer una contraseña para ello, así que haga clic en Credenciales y establecer una nueva contraseña para el usuario.
NOTA: Deshabilitar la opción Temporal hará que la contraseña del usuario sea permanente.
En conclusión, al configurar exitosamente Keycloak como proveedor de OAuthHa habilitado el inicio de sesión y la autorización SSO de Magento Keycloak para sus usuarios finales en Magento.
3. Configurar Magento como cliente OAuth
| Alcance: | perfil de correo electrónico openid |
| Autorizar punto final: | /realms/{nombre-reino}/protocol/openid-connect/auth |
| Punto final del token de acceso: | /realms/{nombre-reino}/protocol/openid-connect/token |
| Obtener punto final de información del usuario: | /realms/{nombre-reino}/protocol/openid-connect/userinfo |
| URL de redireccionamiento personalizada después de cerrar sesión:[Opcional] | https://{dominio keycloak}/reinos/{nombre-reino}/protocol/openid-connect/logout?post_logout_redirect_uri={URI de redirección}&id_token_hint=##id_token## |
| Alcance: | perfil de correo electrónico openid |
| Autorizar punto final: | /auth/realms/{nombre-reino}/protocol/openid-connect/auth |
| Punto final del token de acceso: | /auth/realms/{nombre-reino}/protocol/openid-connect/token |
| Obtener punto final de información del usuario: | /auth/realms/{nombre-reino}/protocol/openid-connect/userinfo |
| URL de redireccionamiento personalizada después de cerrar sesión:[Opcional] | /auth/realms/{nombre-del-reino}/protocol/openid-connect/logout?redirect_uri=RedirectUri |
Nota: En la versión Enterprise de la extensión, puedes configurar varios proveedores. Para configurar un proveedor diferente, haz clic en el botón "Añadir proveedor" y configura el que necesites. Puedes encontrar las guías de configuración de todos los proveedores en aquí.
4. Configuración multisitio (*Disponible en las versiones Enterprise)
Configuración de inicio de sesión
5. SSO de administrador
6. Configuración de SSO sin interfaz gráfica (*Disponible en las versiones premium)
7. Atributo/Mapeo personalizado (opcional). *Esta es una función premium.
Mapeo de atributos del cliente

Mapeo de direcciones de clientes
Asignación de atributos de administración
8. Asignación de grupos/roles (opcional). *Esta es una función premium.
Mapeo de grupos de clientes
Asignación de roles de administrador
Más Recursos
Ponte en contacto
Comuníquese con nosotros en magentosupport@xecurify.comNuestro equipo le ayudará a configurar la extensión SSO (OAuth/OIDC) de Magento 2. Le ayudará a seleccionar la solución o el plan más adecuado según sus necesidades.
