Ir al contenido

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.

  • 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).
  1. Abre Ajustes → Servidor → Inicio de sesión único y cambia a OpenID Connect.
  2. 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.
  3. En el proveedor, registra la redirección https://<your-server>/oidc/callback en ese cliente.
  4. 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).
  5. 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.
  6. 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.
  7. Prueba a iniciar sesión: la pantalla de conexión web muestra Iniciar sesión con OpenID Connect, o abre https://<your-server>/oidc/login directamente.

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.

Needed for the test sign-in.

Client type

Never paste the secret here. The check only needs to know whether one exists.

The address your users open. Adds a reachability check and a test sign-in.

Paste the discovery document instead

For providers that block other sites from reading it.