Saltar al contenido principal

Referencia de la API de Credenciales

El sistema de credenciales de ISBE expone dos APIs distintas:

ServicioBase URL (PRO)Propósito
Credential Issuerhttps://identity-credentials-issuer.pro.cloud-w.envs.redisbe.comEmitir, consultar y revocar VCs para empleados y representantes.
Credential IDPhttps://identity-credentials-idp.pro.cloud-w.envs.redisbe.comAutenticar usuarios en portales ISBE mediante presentación de VCs (OIDC federado).

Ambos servicios están implementados en Django y exponen documentación interactiva Swagger/OpenAPI en GET /swagger.

Diagrama de interacción entre servicios​

El siguiente diagrama muestra la secuencia completa de emisión y uso de una IsbePortalLearCredential, desde la solicitud inicial hasta la autenticación en el portal.

Autenticación de las APIs​

Credential Issuer​

La mayoría de los endpoints del Issuer requieren un token Bearer de Keycloak:

Authorization: Bearer <access_token_keycloak>

El Issuer verifica la firma del token contra el JWKS de Keycloak configurado en KEYCLOAK_JWKS_URI.

El endpoint de notificaciones del Connector (POST /issuance/notifications) y el endpoint de claims (POST /issuance/claims) están protegidos con API Key mediante la cabecera:

x-api-key: <IDENTFY_CONNECTOR_API_KEY>

Credential IDP​

Los endpoints internos de integración están protegidos con API Key:

x-api-key: <CONNECTOR_API_KEY>

Los endpoints OIDC estándar (/accounts/*, /.well-known/openid-configuration) son públicos o están protegidos por el propio flujo OAuth2.

El panel de administración (/admin/) requiere autenticación de usuario administrador Django.

Monitorización​

Ambos servicios exponen métricas Prometheus en:

GET /metrics

El endpoint /metrics es público (no requiere autenticación). El namespace de las métricas es configurable mediante la variable de entorno PROMETHEUS_METRIC_NAMESPACE.

El estado de salud de cada servicio está disponible en:

GET /health