# OIDC (/es/security/single-sign-on/oidc)

Bitelio funciona como la parte confiable (RP) para cualquier proveedor OpenID Connect — Okta, Azure AD/Entra ID, Google Workspace, o un IdP OIDC personalizado.

## Registra la URL de retorno

En **Ajustes → SSO**, elige **OIDC** para crear la conexión. Registra su URL de retorno en tu IdP como el URI de redirección de la app:

```
https://<api-host>/sso/<connection-id>/callback
```

El ID de conexión se asigna al crear la conexión, así que créala primero, y luego usa la URL de retorno que te muestra Bitelio al configurar la app en el lado del IdP.

## Añade los datos de tu IdP

Introduce los tres valores que tu IdP te da para esta app:

* **URL del emisor**
* **ID de cliente**
* **Secreto de cliente**

El secreto de cliente se almacena cifrado y es de solo escritura — una vez guardado, Bitelio nunca lo vuelve a mostrar. Si necesitas cambiarlo, introduce uno nuevo; no hay nada que copiar de vuelta.

## Requisitos

Tu IdP debe devolver una declaración de correo verificado (`email_verified: true`) en el token de ID — Bitelio solo confía en el correo declarado cuando el propio proveedor lo garantiza. Por debajo, el flujo de inicio de sesión usa PKCE y un nonce para proteger el intercambio del código de autorización y rechazar tokens repetidos o inyectados; no hay nada que configurar para esto, está activado por defecto.

## Termina la configuración

Establece el **rol predeterminado** de la conexión para los primeros inicios de sesión, y opcionalmente activa **`allowUnverifiedDomains`** si quieres que los usuarios completamente nuevos se aprovisionen antes de que su dominio esté verificado. Luego activa la conexión.

## Qué sigue

<Cards>
  <Card title="SAML" href="/es/security/single-sign-on/saml">
    El protocolo alternativo, si tu IdP prefiere SAML 2.0.
  </Card>

  <Card title="Inicio de sesión único" href="/es/security/single-sign-on">
    Verificación de dominio, aprovisionamiento JIT, y cómo se inicia el inicio de sesión.
  </Card>
</Cards>
