GET/v1/oauth/.well-known/openid-configurationDocumento de descubrimiento del servidor OAuth
Metadatos del servidor de autorización (RFC 8414): emisor, endpoint de token, JWKS, ámbitos y concesiones soportadas. Con esta URL basta para configurar un cliente OAuth genérico. Se sirve también en `/.well-known/oauth-authorization-server/v1/oauth`.
Respuestas
| Código | Descripción | Devuelve |
|---|
| 200 | Respuesta correcta | OAuthDiscoveryOut |
Claves públicas de firma (JWKS)
Claves con las que verificar la firma de un token emitido por este servidor. Es público a propósito: sirve para que un integrador valide sin llamarnos en cada petición. Normalmente publica una clave; durante una rotación publica DOS —la saliente y la entrante— para que ningún token vivo deje de validar. Resuelve siempre por el `kid` de la cabecera del token, nunca por la posición en la lista.
Respuestas
| Código | Descripción | Devuelve |
|---|
| 200 | Conjunto de claves públicas. | JwksOut |
| 503 | No hay clave de firma configurada. | OAuthErrorOut |
Emite un token de integrador (client_credentials)
Cambia `client_id` + `client_secret` por un token con vencimiento, firmado con clave asimétrica. Cuerpo `application/x-www-form-urlencoded` con `grant_type=client_credentials`; las credenciales pueden ir en el cuerpo o en `Authorization: Basic`. `scope` es opcional: sin él se entregan todos los ámbitos concedidos al cliente.
Cuerpo obligatorio object
| Campo | Tipo | Obl. |
|---|
grant_type | "client_credentials" | Sí |
client_idOmit when authenticating with HTTP Basic. | string | No |
client_secretOmit when authenticating with HTTP Basic. | string (password) | No |
scopeSpace-delimited subset of the scopes granted to the client. Omit to receive all of them. | string | No |
Respuestas
| Código | Descripción | Devuelve |
|---|
| 200 | Token emitido. | OAuthTokenOut |
| 400 | Petición mal formada, concesión no soportada o ámbito no concedido. | OAuthErrorOut |
| 401 | Credenciales inválidas. | OAuthErrorOut |
| 429 | Demasiadas peticiones para ese cliente. | OAuthErrorOut |
| 500 | Fallo inesperado del servidor, en el cuerpo de OAuth. | OAuthErrorOut |
| 503 | No hay clave de firma configurada. | OAuthErrorOut |