Appearance
Introducción
Base URL por entorno
En este módulo se usa BASE_URL_IDP como referencia común para todos los endpoints.
- Entorno de test:
https://backend.idp-test.eje.gob.bo - Entorno de producción:
https://backend.idp.eje.gob.bo
Regla de uso:
- Reemplazar
BASE_URL_IDPpor la URL del entorno objetivo (test o producción).
Esta guía explica cómo integrar autenticación de usuarios con OAuth2 y OpenID Connect (OIDC) contra:
- Discovery OIDC:
BASE_URL_IDP/.well-known/openid-configuration - Documentación API:
BASE_URL_IDP/api/docs
Cuándo usar OAuth2 y cuándo OIDC
- Usa OAuth2 cuando tu objetivo principal es autorización para consumir una API con
access_token. - Usa OIDC cuando, además de autorización, necesitas identidad de usuario autenticado (
id_tokeny/ouserinfo).
En login de aplicaciones web, normalmente se usan ambos: OAuth2 para tokens de acceso y OIDC para identidad.
Flujo recomendado para login
Para aplicaciones web y SPA con backend, se recomienda:
authorization_code.- PKCE (
S256). - Intercambio de código en backend o BFF (evitar exponer secretos en frontend).
- Sesión de aplicación basada en cookie segura (HttpOnly, Secure, SameSite).
Roles del protocolo
- Authorization Server / IdP: emite tokens y autentica usuarios.
- Client: tu aplicación (frontend, backend o BFF).
- Resource Server: APIs protegidas que validan tokens.
- Resource Owner: usuario final.
Datos que debe definir el equipo integrador
scopemínimo requerido (openid,profile,emaily, si aplica, scopes de directorio oficiales).
Referencias normativas
- OAuth 2.0: RFC 6749.
- PKCE: RFC 7636.
- OpenID Connect Core 1.0.
- OpenID Connect Discovery 1.0.
