El inicio de sesión único permite que las personas de los dominios verificados de tu organización entren en 50heads con la cuenta que ya usan en el trabajo. La página de acceso de su empresa (tu proveedor de identidad, como Okta, Microsoft Entra ID o Google Workspace) comprueba quiénes son y las devuelve a 50heads con la sesión iniciada. Funciona con OpenID Connect o SAML 2.0: eliges el que use la app de tu proveedor de identidad.
Estamos activando el inicio de sesión único poco a poco para las organizaciones. Si no ves Inicio de sesión único en Ajustes y luego Organización, aún no está activo para tu organización. Escríbenos si lo quieres.
Antes de empezar
- Tu organización necesita al menos un dominio verificado. Solo las personas con una dirección de correo en un dominio verificado pueden usar el inicio de sesión único. Consulta Tu organización y sus dominios.
- Tienes que ser propietario o administrador de uno de los equipos de la organización y haber entrado en la web.
- Tu propia dirección de correo debería estar en el dominio verificado, con una cuenta en tu proveedor de identidad. La necesitarás para la prueba de acceso.
OpenID Connect o SAML
Los dos hacen lo mismo, y las personas que entran no notan ninguna diferencia. Elige el que encaje con tu proveedor de identidad:
- OpenID Connect necesita un ID de cliente y un secreto de cliente de tu proveedor de identidad. La mayoría de las configuraciones recientes lo usan.
- SAML 2.0 no necesita ningún secreto. Le das a tu proveedor de identidad tres valores de 50heads y te devuelve un archivo o una URL de metadatos. Elígelo si tu equipo de informática prefiere las apps SAML o ya tiene otras.
En Ajustes y luego Organización, elige OpenID Connect o SAML 2.0 arriba, en Tu proveedor de identidad. Puedes cambiarlo más adelante. Un cambio cuenta como un cambio en los ajustes del proveedor, así que el inicio de sesión único queda desactivado hasta que funcione una nueva prueba. Después de un cambio, quienes ya habían entrado antes confirman su cuenta una vez más con un código de 6 dígitos que les llega por correo.
Con OpenID Connect: qué registrar
Crea una aplicación web (a veces llamada cliente) en tu proveedor de identidad con estos ajustes. La página de ajustes muestra la URI de redirección exacta para copiarla.
| Ajuste | Valor |
|---|---|
| Tipo | Aplicación web, OpenID Connect, código de autorización |
| URI de redirección | https://api.50heads.com/v1/auth/sso/callback |
| Scopes | openid email profile |
| PKCE | S256 (50heads siempre lo envía) |
Copia tres datos de la aplicación en 50heads: la URL del emisor (issuer), el ID de cliente y el secreto de cliente.
Okta (OpenID Connect)
- En la Admin Console, ve a Applications y luego a Create App Integration. Elige OIDC – OpenID Connect y Web Application.
- Usa solo el tipo Authorization Code y añade la URI de redirección como URI de redirección de inicio de sesión.
- Asigna las personas o grupos que pueden usar 50heads.
- Copia el Client ID y el Client secret de la pestaña General.
- La URL del emisor es tu dominio de Okta, como
https://example.okta.com, o un servidor de autorización propio, comohttps://example.okta.com/oauth2/default.
Microsoft Entra ID (OpenID Connect)
- En el centro de administración de Entra, ve a Registros de aplicaciones y luego a Nuevo registro. Elige un solo inquilino y añade la URI de redirección con la plataforma Web.
- En Certificados y secretos, crea un secreto de cliente y copia su Valor (no su ID). Apunta cuándo caduca.
- Copia el Id. de aplicación (cliente) y el Id. de directorio (inquilino).
- La URL del emisor es
https://login.microsoftonline.com/<ID del inquilino>/v2.0. No uses las direccionescommonniorganizations. - En Configuración de token, añade las notificaciones opcionales email y xms_edov. Entra no indica de otra forma que una dirección de correo está verificada, así que sin
xms_edovse rechaza cada acceso.
Google Workspace (OpenID Connect)
- En la consola de Google Cloud, en un proyecto de tu organización de Workspace, configura la pantalla de consentimiento de OAuth como Interna.
- Crea un ID de cliente de OAuth de tipo Aplicación web, con la URI de redirección como URI de redirección autorizada.
- Copia el ID de cliente y el Secreto del cliente.
- La URL del emisor es
https://accounts.google.com. Solo las cuentas de tu Workspace pueden entrar así, nunca las cuentas personales de Gmail.
Con SAML: qué registrar
Crea una app SAML para 50heads en tu proveedor de identidad. La página de ajustes muestra los valores exactos que copiar, y puedes descargarlos como archivo de metadatos con Descargar nuestros metadatos.
| Ajuste | Valor |
|---|---|
| URL de inicio de sesión único, URL de respuesta o URL del servicio de consumo de aserciones (ACS) | https://api.50heads.com/v1/auth/sso/saml/acs |
| ID de entidad, audiencia o identificador | https://api.50heads.com/v1/auth/sso/saml/metadata/<ID de la organización> (la página de ajustes muestra el tuyo) |
| Formato de Name ID | Dirección de correo |
| Firma | Firma la aserción (o toda la respuesta) con RSA-SHA256. SHA-1 se rechaza |
| Solicitudes firmadas | Desactivadas. 50heads no firma sus solicitudes |
| Cifrado de aserciones | Desactivado. 50heads no acepta aserciones cifradas |
El Name ID debe ser la dirección de correo del trabajo de la persona. Si tu proveedor de identidad envía otro Name ID, envía también un atributo llamado email con la dirección.
Desde la app, dale a 50heads sus metadatos: una URL (la leemos al guardar, y solo por https) o el archivo de metadatos. Los metadatos indican tu proveedor de identidad, su URL de acceso y su certificado de firma.
Okta (SAML)
- En la Admin Console, ve a Applications, luego a Create App Integration, y elige SAML 2.0.
- Pon en Single sign-on URL la URL ACS y en Audience URI (SP Entity ID) el ID de entidad. Deja marcada la opción Use this for Recipient URL and Destination URL.
- Pon Name ID format en EmailAddress y Application username en Email.
- Opcional: en Attribute Statements, añade
emailcon el valoruser.email. - Asigna la app a las personas o grupos que pueden usar 50heads.
- En la pestaña Sign On, copia la Metadata URL en 50heads.
Microsoft Entra ID (SAML)
- En el centro de administración de Entra, ve a Aplicaciones empresariales, luego Nueva aplicación y luego Crear su propia aplicación. Elige Integrar cualquier otra aplicación que no se encuentre en la galería (no de la galería).
- En Inicio de sesión único, elige SAML. En Configuración básica de SAML, pon en Identificador (id. de entidad) el ID de entidad y en URL de respuesta (URL del Servicio de consumidor de aserciones) la URL ACS. Deja vacíos URL de inicio de sesión y Estado de la retransmisión.
- En Atributos y notificaciones, pon como identificador único de usuario (Name ID) la dirección de correo del usuario, con el formato Dirección de correo electrónico. Entra ya envía la dirección en la notificación
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. - En Certificados SAML, deja la opción de firma en Firmar aserción SAML y el algoritmo en SHA-256. Copia la URL de metadatos de federación de aplicación en 50heads.
- En Usuarios y grupos, asigna la app a las personas o grupos que pueden usar 50heads.
Google Workspace (SAML)
- En la consola de administración de Google, ve a Aplicaciones, luego Aplicaciones web y móviles, luego Añadir aplicación y luego Añadir aplicación SAML personalizada.
- En la página Detalles del proveedor de identidades de Google, elige Descargar metadatos. Le darás este archivo a 50heads.
- Pon en URL de ACS la URL ACS y en ID de entidad el ID de entidad. Deja desactivada Respuesta firmada: Google firma la aserción, que es lo que comprueba 50heads.
- Pon Formato de ID de nombre en EMAIL e ID de nombre en Información básica > Correo electrónico principal.
- Activa la app para las personas o unidades organizativas que pueden usar 50heads.
- En 50heads, pega el contenido del archivo de metadatos o elige el archivo.
Configurarlo en 50heads
- Abre Ajustes y luego Organización y elige Confirmar que eres tú si te lo pide. Cada cambio necesita esa comprobación, que dura 10 minutos.
- En Inicio de sesión único, elige el protocolo. Para OpenID Connect, escribe la URL del emisor, el ID de cliente y el secreto de cliente. Guardamos el secreto cifrado y solo mostramos sus cuatro últimos caracteres. Para SAML, escribe la URL de metadatos, o pega o elige el archivo de metadatos. Mostramos el ID de entidad de tu proveedor de identidad, su URL de acceso y cuándo caduca su certificado.
- Elige el equipo al que se unen las personas la primera vez que entran y su rol: miembro, lector o administrador. Nunca propietario ni facturación. Quien ya esté en uno de los equipos de la organización se queda donde está.
- Elige Guardar ajustes. Leemos los ajustes de tu proveedor de identidad al momento, así que una URL del emisor mal escrita o un archivo de metadatos equivocado se nota ahora y no cuando alguien intenta entrar.
Prueba de acceso
Elige Probar el acceso. Vas a tu proveedor de identidad, entras con tu propia cuenta y vuelves a la página de ajustes con el resultado.
- Nadie puede usar el inicio de sesión único hasta que una prueba funcione.
- Cualquier cambio en la URL del emisor, el ID de cliente, el secreto de cliente o cómo se envía el secreto necesita otra prueba. Con SAML, también un nuevo ID de entidad del proveedor de identidad, una nueva URL de acceso o un certificado que sustituya al actual.
- Prueba con tu propia cuenta. Una prueba que te deja entrar a ti también vincula tu cuenta de 50heads con el acceso de tu empresa.
Activarlo
Cuando una prueba haya funcionado, elige Activar. Las personas con una dirección de correo en tus dominios verificados verán Continuar con el acceso de tu empresa al escribir su correo en la página para entrar. Los códigos por correo, Apple, Google y las llaves de acceso siguen funcionando.
La primera vez que alguien entra así:
- Si no tiene cuenta de 50heads, creamos una y lo añadimos al equipo que elegiste, con el rol que elegiste.
- Si ya tiene una cuenta de 50heads con esa dirección, nunca unimos cuentas solo por el correo. Enviamos un código único de 6 cifras a esa dirección. Lo escribe una vez y, a partir de entonces, el acceso de su empresa abre su cuenta de siempre.
Hacerlo obligatorio
Elige Hacerlo obligatorio para que tu proveedor de identidad sea la única forma de entrar para las direcciones de tus dominios verificados. Antes tienes que haber hecho tú una prueba que funcione, con tu propia cuenta, desde el último cambio. Así no puedes quedarte fuera.
Mientras el inicio de sesión único sea obligatorio:
- No enviamos códigos por correo a direcciones de tus dominios verificados. La página para entrar las manda al acceso de su empresa.
- El acceso con Apple, Google o llave de acceso deja de funcionar para esas direcciones, salvo para los propietarios de emergencia.
- Al activarlo, se cierra la sesión de los miembros de tus equipos en esos dominios que entraron de otra forma, y vuelven a entrar con tu proveedor de identidad. Los propietarios de emergencia siguen dentro, igual que la sesión con la que lo activaste.
- Los ajustes del proveedor quedan bloqueados, salvo los cambios de certificado SAML hechos con Conservar también el certificado actual (más abajo). Para cambiar cualquier otra cosa, deja de exigir el inicio de sesión único, haz el cambio y vuelve a probar.
Puedes dejar de exigirlo cuando quieras, y los códigos por correo vuelven a funcionar al momento. Si uno de tus dominios deja de contar como verificado, la obligación se detiene enseguida para ese dominio, para que nadie se quede fuera.
Cambios de certificado SAML
Tu proveedor de identidad firma cada acceso SAML con un certificado, y los certificados caducan. La página de ajustes muestra cuándo caduca cada uno y te avisa 30 días antes.
Para cambiar de certificado sin cortar los accesos:
- Consigue en tu proveedor de identidad los metadatos con el nuevo certificado. La mayoría de los proveedores te dejan añadir un certificado nuevo antes de activarlo.
- En 50heads, vuelve a escribir la URL de metadatos (o elige el archivo nuevo) y marca Conservar también el certificado actual. 50heads acepta entonces los dos, y el inicio de sesión único sigue activo, aunque sea obligatorio.
- Activa el nuevo certificado en tu proveedor de identidad.
- En 50heads, elige Dejar de aceptar junto al certificado antiguo.
50heads acepta 2 certificados a la vez como máximo. Sustituir un certificado sin conservar el antiguo cuenta como un cambio en los ajustes del proveedor: necesita otra prueba y no se puede hacer mientras el inicio de sesión único sea obligatorio.
Acceso desde la lista de apps del proveedor de identidad (SAML)
Con SAML, también se puede empezar desde el icono de 50heads en la lista de apps de la empresa (a veces se llama acceso iniciado por el proveedor de identidad). Está desactivado hasta que actives Permitir el acceso desde la lista de apps del proveedor de identidad.
Los accesos que empiezan en tu proveedor de identidad no se pueden asociar a una solicitud de 50heads, así que somos más estrictos con ellos. Cada uno se acepta una sola vez, solo en los 5 minutos siguientes a que tu proveedor de identidad lo genere, y siempre lleva a la página de inicio de 50heads, pida lo que pida la app. Déjalo desactivado salvo que tu equipo necesite el icono. Los accesos que empiezan en la página de acceso de 50heads funcionan en cualquier caso.
Propietarios de emergencia
Los propietarios de emergencia pueden seguir entrando con una llave de acceso mientras el inicio de sesión único es obligatorio. Están para cuando tu proveedor de identidad falla o está mal configurado.
- Puedes tener hasta 2. Deben ser propietarios de uno de los equipos de la organización, con una llave de acceso en su cuenta de 50heads.
- Solo los propietarios pueden añadirlos o quitarlos.
- Cada acceso de emergencia queda en el registro de actividad y se envía por correo a todos los administradores.
- Los cambios en el inicio de sesión único hechos tras un acceso de emergencia necesitan una nueva comprobación con llave de acceso o app de autenticación.
La app de 50heads
En la app, se escribe el correo del trabajo como siempre. Si la organización usa inicio de sesión único, la app abre la página de acceso de la empresa en una ventana de navegador segura y devuelve a la persona con la sesión iniciada. Si hay que vincular su cuenta, la app pide el código de 6 cifras del correo.
El registro de accesos y la actividad
El Registro de accesos muestra los accesos y pruebas con inicio de sesión único que fallaron o necesitaron un código, del más reciente al más antiguo, con el código de error. Nunca guardamos los tokens que envía tu proveedor de identidad. La Actividad recoge cada cambio: configuración, pruebas, activar y desactivar, hacerlo obligatorio, cuentas vinculadas y accesos de emergencia.
Cada evento del inicio de sesión único está también en el registro de auditoría, donde los administradores pueden filtrarlo y exportarlo.
Resolver errores
El registro de accesos y el resultado de la prueba muestran un código. Esto significa cada uno.
| Código | Qué significa | Qué revisar |
|---|---|---|
state_invalid |
El acceso tardó demasiado (más de 10 minutos) o ya se usó. | Empieza de nuevo. |
sso_unavailable |
El inicio de sesión único no está activo para la organización. | Actívalo, o entra de otra forma. |
idp_error |
El proveedor de identidad detuvo el acceso, por ejemplo porque la persona no está asignada a la aplicación. | Las asignaciones en tu proveedor de identidad. |
idp_unreachable |
No pudimos conectar con tu proveedor de identidad. | Su página de estado. Los propietarios de emergencia aún pueden entrar. |
idp_timeout |
Tu proveedor de identidad no respondió en 6 segundos. | Su página de estado, y vuelve a intentarlo. |
discovery_invalid |
No se pudieron leer los ajustes del emisor, o indican otro emisor. | La URL del emisor, exacta. En Entra, el ID del inquilino y /v2.0. |
token_exchange_failed |
Tu proveedor de identidad rechazó el código de acceso. | ID de cliente, secreto de cliente (Entra: el valor, no el ID), cómo se envía el secreto y la URI de redirección. |
id_token_invalid |
No se pudo leer la respuesta de tu proveedor de identidad. | Los ajustes de la aplicación en tu proveedor de identidad. |
id_token_alg |
La respuesta estaba firmada de una forma que no aceptamos. | Usa RS256, ES256 o PS256. |
id_token_signature |
La firma de la respuesta no era válida. | Las claves de firma que publica tu proveedor de identidad. |
id_token_issuer |
La respuesta venía de otro emisor. | La URL del emisor. |
id_token_audience |
La respuesta era para otra aplicación. | El ID de cliente. |
id_token_expired |
La respuesta era demasiado antigua. | El reloj del proveedor de identidad. Los relojes pueden diferir hasta 2 minutos. |
id_token_not_yet_valid |
La respuesta tenía fecha futura. | El reloj del proveedor de identidad. |
id_token_nonce |
La respuesta no correspondía a este acceso. | Empieza de nuevo. |
unknown_key |
La respuesta estaba firmada con una clave que tu proveedor de identidad no publica. | Las claves de firma, y vuelve a intentarlo. |
email_missing |
Tu proveedor de identidad no envió una dirección de correo. | El scope email y la notificación opcional de correo en Entra. |
email_unverified |
Tu proveedor de identidad no confirmó la dirección de correo. | Okta: el correo de la persona está verificado. Entra: la notificación xms_edov. |
domain_not_verified |
La dirección de correo no está en uno de tus dominios verificados. | Verifica el dominio o corrige el correo de la persona. |
hd_mismatch |
Una cuenta de Google de fuera de tu Workspace. | Usa una cuenta de Workspace. |
sso_identity_conflict |
La cuenta de 50heads de este correo ya está vinculada a otra identidad en tu proveedor de identidad. | La cuenta de la persona en tu proveedor de identidad. |
account_unavailable |
No pudimos abrir ni crear la cuenta de 50heads. | Escríbenos. |
SAML tiene sus propios códigos:
| Código | Qué significa | Qué revisar |
|---|---|---|
saml_metadata_invalid |
No se pudieron leer ni usar los metadatos. | Que sean los metadatos de una app SAML 2.0, con una URL de acceso HTTP-Redirect y un certificado de firma, y que las solicitudes firmadas estén desactivadas. |
saml_response_invalid |
No se pudo leer la respuesta de tu proveedor de identidad. | Los ajustes de la app en tu proveedor de identidad. |
saml_status |
Tu proveedor de identidad dice que el acceso no salió bien, por ejemplo porque la persona no tiene asignada la app. | Las asignaciones en tu proveedor de identidad. |
saml_unsigned |
Ni la respuesta ni su aserción estaban firmadas. | Activa la firma de aserciones. |
saml_signature |
La firma no coincidía con el certificado que tenemos. | El certificado. Tras un cambio de certificado, añade los nuevos metadatos. |
saml_signature_alg |
La respuesta estaba firmada con SHA-1 o de otra forma que no aceptamos. | Usa RSA-SHA256. |
saml_wrapping |
La respuesta estaba construida de una forma que rechazamos, por ejemplo con más de una aserción. | Los ajustes de tu proveedor de identidad. Si sigue pasando, escríbenos. |
saml_encrypted |
La aserción estaba cifrada. | Desactiva el cifrado de aserciones. |
saml_issuer |
La respuesta venía de otro proveedor de identidad. | Los metadatos. |
saml_audience |
La respuesta era para otra app. | El ID de entidad (audiencia) en tu proveedor de identidad. |
saml_recipient |
La respuesta iba dirigida a otra URL de respuesta. | La URL ACS en tu proveedor de identidad. |
saml_destination |
La respuesta se envió a otra dirección. | La URL ACS en tu proveedor de identidad. |
saml_in_response_to |
La respuesta no correspondía a ningún acceso iniciado en 50heads, o ese acceso tardó más de 10 minutos. | Empieza de nuevo desde la página de acceso de 50heads. |
saml_expired |
La respuesta era demasiado antigua. | El reloj del proveedor de identidad. Los relojes pueden diferir 2 minutos como mucho. |
saml_not_yet_valid |
La respuesta tenía fecha futura. | El reloj del proveedor de identidad. |
saml_subject |
La respuesta no indicaba a nadie que pudiéramos usar. | El Name ID: la dirección de correo de la persona. |
saml_replay |
Esa respuesta ya se usó. | Empieza de nuevo. |
saml_idp_initiated |
Alguien empezó desde la lista de apps, pero eso está desactivado para tu organización. | Empieza desde la página de acceso de 50heads, o permite el acceso desde la lista de apps. |