El Inicio de sesión único (SSO) es un proceso de autenticación de usuarios que ahorra tiempo y es muy seguro. El SSO permite que los usuarios accedan a varias aplicaciones con una sola cuenta y cierren la sesión al instante con un solo clic.
TalentLMS respalda SSO. Para proporcionar servicios de inicio de sesión único para tu dominio, TalentLMS actúa como proveedor de servicio (SP).
Nota: El Inicio de sesión único está disponible con los planes de suscripción Basic, Plus y Premium. |
Para empezar, necesitas un proveedor de identidades (IdP) de OpenID Connect para gestionar el proceso de inicio de sesión y proporcionar las credenciales de tus usuarios a TalentLMS.
La información requerida por TalentLMS es:
- Un identificador único para cada usuario
- El nombre y apellido del usuario
- El correo electrónico del usuario
Cuando los usuarios se autentican a través de tu IdP, este gestiona los detalles de su cuenta. Cualquier cambio realizado en esos detalles se sincroniza con TalentLMS. TalentLMS no almacena ninguna contraseña.
Para configurar tu SSO de OpenID Connect necesitas:
- El ID cliente
- El cliente secreto
- Las URL de los puntos finales de OpenID Connect
Ahora sí, ¡empecemos!
Paso 1: Habilitar el SSO de OpenID Connect en tu dominio de TalentLMS
1. Inicia sesión en tu cuenta de TalentLMS como Administrador, ve a Inicio > Cuenta y Ajustes > Usuarios y haz clic en Inicio de sesión único (SSO).
2. Tipo de integración SSO: En la lista desplegable, elige OpenID Connect.
3. ID cliente: El ID cliente de OpenID Connect proporcionado por tu IdP.
4. Cliente secreto: El cliente secreto de OpenID Connect proporcionado por tu IdP.
5. URL de token endpoint: La URL de token endpoint de OpenID Connect proporcionada por tu IdP.
6. URL de endpoint de info de usuario: La URL de endpoint de info de usuario de OpenID Connect proporcionada por tu IdP que contiene los datos de perfil del usuario (nombre de usuario, nombre, correo electrónico, etc.).
7. URL de punto final autorización: La URL de punto final autorización de OpenID Connect donde TalentLMS emite las solicitudes de autenticación.
8. URL de logout endpoint: La URL de logout endpoint de OpenID Connect proporcionada por tu IdP (opcional).
Los campos restantes se utilizan para los atributos de OpenID Connect que contienen los datos del usuario requeridos por TalentLMS y proporcionados por tu IdP.
9. Nombre de usuario: El nombre de usuario de cada cuenta de usuario que actúa como identificador único del usuario. El valor predeterminado es uid.
10. Nombre: El nombre del usuario. El valor predeterminado es given_name..
11. Apellido: El apellido del usuario. El valor predeterminado es family_name.
12. Correo electrónico: La dirección de correo electrónico del usuario. El valor predeterminado es email.
Nota: Asegúrate de que todos los usuarios tengan direcciones de correo electrónico válidas. El atributo de correo electrónico es fundamental para establecer la comunicación entre tu IdP de OpenID Connect y TalentLMS. |
13. Grupo: Los nombres de los grupos a los que pertenece el usuario. A esta variable se le puede asignar un único valor de cadena o una matriz de valores de cadena para más de un nombre de grupo. Cuando hay un grupo con el mismo nombre en tu dominio de TalentLMS, el usuario se registra automáticamente en ese grupo en su primer inicio de sesión. El usuario también se matricula en todos los cursos asignados a ese grupo.
Nota: Para forzar la asignación de grupos en cada inicio de sesión, marca la casilla Añadir grupos asignados con cada login. Los usuarios se asignan automáticamente a los nuevos grupos enviados por tu IdP en cada inicio de sesión, pero no se eliminan de los grupos no incluidos en esa lista. |
14. Campos personalizados: Puedes seleccionar los campos personalizados de TalentLMS y hacer que se muestren con la información derivada desde tu IdP (Proveedor de identidades). Para más información échale un vistazo a este artículo.
Nota: Al mapear los campos personalizados y grupos con OpenID Connect, asegúrate de que los datos son enviados a través del userinfo endpoint. Los datos enviados con el token de acceso no pueden ser mapeados con TalentLMS en estos momentos. |
15. Haz clic en Guardar y comprobar tu configuración. Si todo está correcto, recibirás un mensaje de conclusión exitosa que contiene todos los valores extraídos de tu IdP.
Paso 2: Configurar tu proveedor de identidades (IdP) de OpenID Connect
Después, tienes que asegurarte de que tu proveedor de identidades (IdP) de OpenID Connect se comunique adecuadamente con tu proveedor de servicio (SP) de TalentLMS.
Esto es lo que necesitas para configurar tu IdP:
- URL de redirección autorizada:
https://[tu-dominio].talentlms.com/simplesaml/module.php/openidconnect/resume.php
- URL de redirección poslogout:
https://[tu-dominio].talentlms.com/index/logout. Es opcional, y es el punto final de TalentLMS al que se redirecciona a los usuarios después de un cierre de sesión exitoso de tu IdP.
Para demostrar el proceso completo, vamos a configurar las API OAuth 2.0 de Google como proveedor de identidades de OpenID Connect.
Ejemplo: SSO con OAuth 2.0 de Google como IdP de OpenID Connect
Las API OAuth 2.0 de Google se pueden utilizar tanto para la autenticación como para la autorización. La implementación de la autenticación OAuth 2.0 de Google se ajusta a la especificación de OpenID Connect y está certificada por OpenID. Por lo tanto, se puede utilizar para proporcionar servicios SSO a los clientes de TalentLMS.
Para que TalentLMS se comunique con el sistema de autenticación de Google, debes configurar un nuevo proyecto en la consola de la API de Google para obtener las credenciales de OAuth 2.0 (es decir, el ID cliente y el cliente secreto) y la URL de redirección autorizada.
1. Ve a la consola de la API de Google (https://console.developers.google.com/) y haz clic en Seleccionar un proyecto.
2. En el cuadro de diálogo Seleccionar un proyecto, haz clic en Nuevo proyecto.
3. Nombra tu nuevo proyecto y haz clic en Crear.
4. En el panel de la izquierda, haz clic en Credenciales..
5. Haz clic en Crear credenciales y, en la lista desplegable, elige ID cliente OAuth.
6. Haz clic en Configurar la pantalla de consentimiento para proporcionar la información que se muestra a los usuarios cada vez que intentan iniciar sesión en TalentLMS a través de Google (es decir, cada vez que TalentLMS solicita acceso a sus datos privados).
7. En los campos correspondientes, escribe tu dirección de correo electrónico y el nombre del producto. De manera opcional, puedes proporcionar la URL de tu página de inicio, la URL del logotipo del producto, la URL de la política de privacidad y la URL de los términos de servicio.
8. Haz clic en Guardar para continuar.
9. En la lista de verificación del tipo de aplicación, marca la opción Aplicación web y haz clic en Crear.
10. En el campo Nombre, escribe el nombre de tu ID cliente OAuth.
11. En el campo URL de redirección autorizada, escribe la URL proporcionada en la página de configuración de SSO de TalentLMS: https://[tu-dominio].talentlms.com/simplesaml/module.php/openidconnect/resume.php.
12. Haz clic en Crear para continuar.
13. En el cuadro de diálogo del cliente OAuth que aparece, anota el ID cliente y cliente secreto.
Nota: Los puntos finales de OpenID Connect para el formulario de configuración de SSO de TalentLMS en OpenID Connect se encuentran en el siguiente documento:https://accounts.google.com/.well-known/openid-configuration. |
14. Inicia sesión en tu cuenta de TalentLMS como Administrador y ve a Inicio > Cuenta y Ajustes.
15. Ve a la pestaña Usuarios y haz clic en Inicio de sesión único (SSO).
16. Token endpoint: https://www.googleapis.com/oauth2/v4/token
17. Endpoint de info de usuario: https://www.googleapis.com/oauth2/v3/userinfo
18. Punto final autorización: https://accounts.google.com/o/oauth2/v2/auth
El resto de los campos se puede dejar en blanco. En ese caso, se aplican sus valores predeterminados:
19. Nombre de usuario:uid
20. Nombre:given_name
21. Apellido:family_name
22. Correo electrónico:email
23. Grupo:blank
24. Haz clic en Guardar y comprobar tu configuración. Si todo está correcto, recibirás un mensaje de conclusión exitosa que contiene todos los valores extraídos de tu IdP.
Nota: Para asegurarte aún más de que sólo se accede a tu dominio desde las cuentas de tu organización, puedes restringir el registro de usuarios y el acceso a través de OpenID Connect a dominios específicos. Esto se puede hacer tanto para tu portal principal como para una única división (es decir, si has configurado el SSO habilitado para OpenID Connect en esta división): |
- Ve a Inicio > Cuenta y Ajustes > Ajustes básicos y, en la sección Seguridad, marca la opción Restringir registro a dominios específicos e introduce tus dominios de preferencia en el campo correspondiente (separados por comas).
- Ve a Inicio > Divisiones, haz clic en una división y, en la sección Usuarios, marca Restringir registro a dominios específicos e introduce tus dominios de preferencia en el campo correspondiente (separados por comas).
Coincidencia de cuentas de usuario
En el momento de escribir este artículo, TalentLMS proporciona un mecanismo pasivo para la coincidencia de cuentas de usuario. Esto significa que las cuentas de usuario de TalentLMS existentes se comparan con las cuentas de usuario de SSO en función de su nombre de usuario.
La coincidencia de cuentas de usuario se puede lograr sólo cuando el nombre de usuario proporcionado por tu IdP es exactamente el mismo que el nombre de usuario de la cuenta TalentLMS existente. En ese caso, la cuenta de TalentLMS del usuario sigue siendo la misma durante el proceso de SSO. Sin embargo, los valores del nombre, el apellido y el correo electrónico del usuario se extraen de tu IdP y reemplazan los existentes.
Cuando el nombre de usuario proporcionado por tu IdP para un usuario de TalentLMS existente es diferente de su nombre de usuario de TalentLMS, se crea una nueva cuenta para el nombre de usuario proporcionado por el IdP. En ese caso, se atribuyen dos cuentas diferentes a la misma persona.
Para asegurarte de que funciona correctamente la coincidencia de cuentas de usuario, configura tu IdP para enviar los mismos nombres de usuario para todas las cuentas de usuario de TalentLMS existentes. El nombre de la variable SAML que contiene el nombre de usuario es el que se escribe en el campo Nombre de usuario de la página de configuración de Single Sign-On (SSO) de TalentLMS (consulta paso 1.8).
Perfil de usuario
Tus usuarios pueden cambiar la información de su perfil en TalentLMS, pero no se recomienda hacerlo. Cambiar el nombre, el apellido y el correo electrónico sólo afecta a su sesión actual. La próxima vez que el usuario inicie sesión, esos valores se extraerán de tu servidor IdP y reemplazarán a los que se han modificado. Si se cambia el nombre de usuario, se produce una falta de coincidencia de usuarios, ya que los usuarios de TalentLMS coinciden con los de tu IdP en función del valor del nombre de usuario.
Sugerimos que notifiques a tus usuarios sobre cómo afecta el proceso de SSO a tu dominio de TalentLMS y les aconsejes que eviten cambiar su nombre, apellido, correo electrónico y, sobre todo, su nombre de usuario en su perfil de TalentLMS.
Cuando tus usuarios se autentican sólo a través de SSO, se considera una buena práctica desactivar las actualizaciones de perfil para aquellos usuarios. Para ello:
- Inicia sesión en tu cuenta de TalentLMS como administrador y ve a Tipos de usuarios > Learner-Type> General > Perfil.
- Si están marcados, desmarca los permisos de Actualización y Cambio de contraseña.
Nota: Para obtener más información sobre los tipos de usuarios de TalentLMS, consulta este artículo. |
Problemas conocidos
TalentLMS sólo respalda el SSO iniciado por el SP. Para forzar el SSO iniciado por el IdP, debes crear una aplicación de marcadores personalizada a través de tu IdP y utilizarla para redireccionar a tus usuarios a tu URL de TalentLMS: [tu-dominio]/index/ssologin/service:oidc.