Ten en cuenta que:
También puedes configurar Microsoft Entra ID como SSO de la organización mediante nuestra conexión nativa de Microsoft. Se trata de una configuración diferente a la que se describe en este artículo y no utiliza OIDC. Si esto se ajusta a tus necesidades, descubre cómo configurar el SSO con nuestra conexión nativa de Microsoft.
En este artículo se explica cómo configurar el inicio de sesión único (SSO) en Personio con Microsoft Entra ID mediante OpenID Connect (OIDC).
El SSO conecta Personio con un proveedor de identidad, como Microsoft Entra ID. Personio es compatible con el protocolo OpenID Connect/OAuth 2.0. Se trata de una norma de código abierto para la delegación de acceso. Al configurar el SSO, los usuarios se autentican a través de un proveedor de identidad. No tienen que usar sus credenciales de Personio.
Le recomendamos que trabaje con su equipo de IT para configurar este tipo de autenticación.
Antes de empezar
- La configuración de SSO con Microsoft Entra ID no sincroniza automáticamente a los usuarios de la aplicación Personio con Microsoft Entra ID. Para ello, debes configurar la integración con Microsoft Entra ID por separado. Obtén más información sobre nuestra integración con Microsoft Entra ID.
- Comprueba que ya has invitado a los empleados a Personio. Cada uno de ellos tiene que activar la cuenta para poder iniciar sesión.
Registrarse y crear otra aplicación en Microsoft Entra ID
Para registrarse y crear otra aplicación en Microsoft Entra ID:
- Opcional: Opcional: abre Personio y Microsoft Entra ID en pestañas separadas para simplificar la configuración.
- En el centro de administración de Microsoft Entra ID, ve a Microsoft Entra ID > Registros de aplicaciones.
-
Para registrar una aplicación nueva como Personio, haz clic en Nuevo registro.
- En el campo Nombre, introduce un nombre para la aplicación, por ejemplo, "Personio SSO".
- En Tipos de cuenta compatibles, selecciona el tipo de cuenta que puedes usar la aplicación o acceder a la API. Por razones de seguridad, recomendamos seleccionar Cuentas solo en este directorio organizacional (inquilino único). Con las otras opciones, los usuarios de otros inquilinos podrían iniciar sesión en las cuentas de Personio.
- En Personio, ve a Ajustes.
- En la sección Seguridad e integraciones, haz clic en Seguridad y autenticación.
- En la lista de métodos de inicio de sesión, ve a Open ID Connect (OIDC) y haz clic en Configurar.
- En Ajustes del proveedor, copia el texto que aparece junto a URL de devolución de llamada/URI de redirección.
- Volver a Microsoft Entra ID. Pega la URL de devolución de llamada que has copiado de Personio en el campo URI de redireccionamiento.
- También debes ingresar la siguiente dirección en el campo en URI de redireccionamiento:
- https://login.personio.com/login/callback
- Asegúrate de seleccionar Web en el menú desplegable como tipo de redirección.
- Registra la aplicación.
Aparece un mensaje de confirmación y el sistema te redirige a la nueva aplicación.
Copiar URI a Personio
Después de crear la aplicación Personio, debes copiar los valores URI de autorización y Token URI de Microsoft Entra ID a Personio. También necesitas agregar la Userinfo URI a Personio.
Ten en cuenta que:
Microsoft establece la URI de información de usuario: https://graph.microsoft.com/oidc/userinfo. No es específica para tu dominio Microsoft Entra ID. https://graph.microsoft.com no es suficiente.
Para copiar las URI en Personio:
-
En la nueva aplicación que has creado en Microsoft Entra ID, ve a Resumen> Endpoints y haz clic en Endpoints.
- Copie el valor en el campo de punto final de autorización de OAuth 2.0 (v2).
- En Personio, ve a Ajustes.
- En la sección Seguridad e integraciones, haz clic en Seguridad y autenticación.
-
En la lista de métodos de inicio de sesión, ve a Open ID Connect (OIDC) y haz clic en Configurar.
- En el campo Botón Mostrar texto, introduce el texto que quieres que aparezca en el botón de inicio de sesión (por ejemplo, “Continuar con [tu texto]”). Si lo dejas vacío, aparece “Continuar con SSO” de manera predeterminada. Si escoges añadir texto personalizado, no se traducirá.
- Pega el valor que copiaste anteriormente desde el campo Punto final de autorización de OAuth 2.0 (v2) en el campo URI de autorización.
- Vuelve a Resumen > Endpoints en Microsoft Entra ID. Copia el valor en el campo Punto final de autorización de OAuth 2.0 (v2).
- Volver a Personio. Pega el valor en el campo Token URI.
- En Userinfo URI, selecciona GET en el menú desplegable. Pega el punto final de información de usuario "https://graph.microsoft.com/oidc/userinfo" en el campo. El sistema selecciona la casilla de verificación Omitir lectura de entidades del token de identificación de manera predeterminada. Esto significa que, al iniciar sesión, el sistema lee la información del usuario, incluido el correo electrónico, desde Userinfo URI al iniciar sesión, no Token URI. Desmarca la casilla de verificación si desea leer la información del usuario desde Token URI al inicio de sesión en lugar del Userinfo URI. Esto hace posible utilizar OAuth con Active Directory Federation Services (ADFS).
- En Scopes, introduzca "openid, email".
Configurar los campos Emisor y URI de JWK
- El emisor es el identificador del emisor del servidor de autorización en la contestación de autorización. En este campo, ingresa el valor del campo emisor del punto final .well-known/openid-configuration de tu proveedor de SSO.
- La URI de JSON Web Key Sets (JWK) es la URI de descubrimiento de un conjunto de claves públicas. Estas claves verifican cualquier JSON Web Token (JWT) emitido por el servidor de autorización. En este campo, ingresa el valor del campo jwks_uri del punto final .well-known/openid-configuration de tu proveedor de SSO.
Encontrarás los campos emisor y jwks_uri en el endpoint del documento de descubrimiento (la página de configuración conocida) del proveedor de SSO, principalmente a través del “ID de directorio (inquilino)”.
Necesitas la siguiente información de la configuración de tu proveedor de SSO:
- Los endpoints correctos de Security Token Services (STS) para Azure Active Directory (Azure AD) que utiliza el inquilino. Es sts.windows.net o login.microsoftonline.com.
- El “ID de directorio (inquilino)” correcto.
Utiliza esta información para encontrar el endpoint de configuración correcto y conocido según la configuración de su inquilino. Por ejemplo,
- https://sts.windows.net/{inserte_su_id_de_inquilino_aquí}/.well-known/openid-configuration
- https://login.microsoftonline.com/{inserte_su_id_de_inquilino_aquí}/v2.0/.well-known/openid-configuration
Otras variaciones podrían incluir:
- https://…/.well-known/openid-configuration
- https://…/oauth2/token/.well-known/openid-configuration
- https://…//oauth2/authorize/.well-known/openid-configuration
- https://…//v2.0/.well-known/openid-configuration
En el caso de Microsoft Entra ID con la versión 2, este valor termina en /v2.0.
En la página de configuración conocida, encontrarás los campos principales que tienes que agregar en la página de ajustes de Autenticación en Personio:
- Emisor
- URI de autorización
- Token URI
- URI de información de usuario
- URI de JSON Web Key Sets
Si tu aplicación Entra ID utiliza claves de firma personalizadas:
- También necesitas extender tu URI de JSON Web Key Sets con un parámetro de consulta llamado “appid”.
- En lugar de https://login.microsoftonline.com/{inserta_tu_id_de_inquilino_aquí}/discovery/keys, el URI de JSON Web Key Sets tiene que ser https://login.microsoftonline.com/{inserta_tu_id_de_inquilino_aquí}/discovery/keys?appid={inserta_tu_id_de_cliente_aquí}.
Necesitas agregar este parámetro si ves un error durante el inicio de sesión de prueba, como “no se ha encontrado ninguna clave válida en jwks_uri del emisor para los parámetros de clave”.
Registrar otra clave del cliente
Para registrar otra clave del cliente:
- En la aplicación que has creado en Microsoft Entra ID, ve a Administrar > Certificados y secretos.
- Selecciona Secretos de cliente.
- Aparece el cajón Nuevo secreto de cliente.
- En el campo Descripción, introduce un nombre para el secreto del cliente. Luego, escoge la fecha de caducidad relevante en el menú desplegable Expira.
- Haz clic en Crear.
-
Una página muestra una descripción general de las credenciales de la aplicación. Copia el valor que aparece en la columna Valor.
- En Personio, ve a Ajustes.
- En la sección Seguridad e integraciones, haz clic en Seguridad y autenticación.
- En la lista de métodos de inicio de sesión, ve a Open ID Connect (OIDC) y haz clic en Configurar.
- Pega el valor copiado en el campo Client Secret.
- En el campo “Vencimiento de la clave”, introduce la fecha de vencimiento de la clave del cliente. Personio envía correos electrónicos de recordatorio a los propietarios de cuenta 30 días, 14 días, 7 días y 1 día antes de la fecha que indiques. Cuando actualices la clave y la fecha de vencimiento, los recordatorios se interrumpirán Te recomendamos que actualices este campo cada vez que rotes la clave para que los recordatorios sigan siendo pertinentes. Si la clave del cliente vence, Personio enviará correos electrónicos al propietario de cuenta con los pasos para recuperar el acceso a Personio.
- Vuelve a Microsoft Entra ID > Resumen. Copia el valor de Identificador de la aplicación (cliente).
- Volver a Personio. Pega el valor en el campo Client ID.
Selecciona la reclamación
En Claim Field, selecciona el campo en Microsoft Entra ID con las direcciones de correo electrónico de tus empleados. Para validar que un empleado existe en Personio, verificamos si el valor de este campo corresponde al correo electrónico utilizada en Personio. Dependiendo de tu configuración en Microsoft Entra ID, puedes elegir entre "correo electrónico", "unique_name", "sub" y "upn".
Consejo:
Si seleccionas Usar valor predeterminado, verificamos los campos "correo electrónico", "unique_name" y "sub" en orden secuencial hasta que encontramos uno que contenga un valor. Si las direcciones de correo electrónico de tus empleados se encuentran en el campo Nombre principal de usuario (UPN) en Microsoft Entra ID, selecciona "upn" aquí.
Revisión y prueba
Consejo:
Si vas a configurar Microsoft Entra ID como el único método de inicio de sesión activado, realiza primero una prueba de configuración. Esto evita que se bloquee si la configuración es incorrecta.
Para revisar y probar:
- Revisa los datos que ha ingresado en Personio.
- Envía tus cambios.
- Para probar la conexión OIDC, activa la conexión y haz clic en el botón Probar.
- La conexión te redirige para iniciar sesión en el proveedor de identidad. Si hay errores, aparece un mensaje para ayudar con la solución de problemas.
Para usar SSO, los empleados deben tener perfiles de usuario tanto en Microsoft Entra ID como en Personio. El correo electrónico introducido en Microsoft Entra ID en el campo que ha seleccionado en Claim Field debe coincidir con el correo electrónico utilizado en Personio.
Error: AADSTS50146
Si ves el error: "AADSTS50146: Es necesario configurar esta aplicación con un URI del identificador de aplicación”.
- Abre la sección "Manifiesto" del registro de la aplicación afectada en Microsoft Entra ID.
- Actualiza la configuración "acceptMappedClaims" a "True".
Implemente SSO con Microsoft Entra ID
Después de configurar SSO con Microsoft Entra ID, el inicio de sesión a través de OAuth es opcional. Tus empleados pueden elegir iniciar sesión en Personio utilizando sus credenciales de Personio o a través de OAuth. Para que sea obligatorio que todos los empleados inicien sesión a través de OAuth, haz clic en Aplicar OAuth.