Conectar un proveedor OpenID Connect
Usa esta guía cuando tu proveedor de identidad hable OpenID Connect en lugar de SAML. Sirve cualquier emisor con certificación OIDC —Pocket ID, Keycloak, Auth0, Zitadel, Google Workspace y compañía siguen los mismos pasos—; lo único que cambia es el sitio donde tu proveedor muestra los valores.
Requisitos previos
Sección titulada «Requisitos previos»- un proveedor OIDC en el que puedas crear un cliente —apunta su ID de
cliente y su URL del emisor (la base bajo la que vive el documento
.well-known/openid-configuration)—, además de su secreto de cliente cuando el cliente sea de tipo confidencial (los clientes públicos con PKCE no tienen ninguno), - un servidor de Control Center que administres (el propietario del servidor).
- Abre Ajustes → Servidor → Inicio de sesión único y cambia a OpenID Connect.
- Rellena la URL del emisor, el ID de cliente y el Secreto del cliente (opcional) cuando el proveedor haya emitido uno. Control Center descubre los endpoints a partir del documento de descubrimiento estándar del emisor: no hace falta configuración por proveedor.
- En el proveedor, registra la redirección
https://<your-server>/oidc/callbacken ese cliente. - Si tus grupos viven bajo una reclamación distinta de
groups, indica el nombre en Claim de grupos; asigna grupos a roles si quieres (SSO nunca puede conceder el rol de propietario). - Elige la política de pertenencia (añadir automáticamente a todos los espacios de trabajo o exigir invitaciones por espacio de trabajo), activa Usar OpenID Connect para iniciar sesión y pulsa Guardar conexión.
- Pulsa Probar conexión: el servidor obtiene el documento de descubrimiento del emisor y confirma sus endpoints, así que un aviso verde significa que todo funciona salvo el ciclo de ida y vuelta del navegador. Para comprobar también el registro del cliente, usa el comprobador de abajo.
- Prueba a iniciar sesión: la pantalla de conexión web muestra Iniciar
sesión con OpenID Connect, o abre
https://<your-server>/oidc/logindirectamente.
Las reclamaciones (correo electrónico, nombre, grupos) las lee tu servidor del
endpoint de tokens del emisor a través de TLS: el navegador nunca las aporta,
así que no hay ninguna verificación local de la firma del JWT. El cliente
debería tener permitido solicitar el scope openid profile email, que es
exactamente lo que pide Control Center.
Como ese canal TLS es lo único que autentica las reclamaciones, la URL del
emisor debe ser https: un emisor en texto plano permitiría a cualquier
atacante intermedio falsificar identidades en masa. http solo se acepta para
emisores de loopback (localhost, 127.0.0.1, ::1), para desarrollo local.
Comprueba tu configuración desde esta página
Sección titulada «Comprueba tu configuración desde esta página»El comprobador de abajo se ejecuta en tu navegador. Obtiene directamente el documento de descubrimiento de tu emisor, así que este sitio nunca lo ve, y aplica las reglas del servidor: un emisor https que coincida con el documento, endpoints en el propio origen del emisor, PKCE S256 y el método de autenticación de tokens que necesita tu tipo de cliente. Con un ID de cliente y la dirección del servidor, puede abrir un inicio de sesión de prueba que muestra si el cliente y su URI de redirección están registrados. Nunca pide el secreto de cliente.
Runs in your browserYour browser fetches the discovery document straight from your issuer. Add a server address and it also asks that server which sign-in methods it offers. This site never receives what you type.
Test sign-in at your provider
- Your provider's sign-in or consent page: the client ID and redirect URI are registered. You can close the tab.
- An error at your provider: it names what to fix, usually a redirect URI that is not registered or an unknown client ID.
- Your server's "Sign-in failed" page: also a pass. The provider accepted the request and sent you back; your server refuses it only because this page started the sign-in, not your server.