Recurso

OAuth · Tokens de integrador

3 operaciones · base https://api.bestdoctorsrd.com

GET/v1/oauth/.well-known/openid-configuration

Documento 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ódigoDescripciónDevuelve
200Respuesta correctaOAuthDiscoveryOut
GET/v1/oauth/jwks.json

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ódigoDescripciónDevuelve
200Conjunto de claves públicas.JwksOut
503No hay clave de firma configurada.OAuthErrorOut
POST/v1/oauth/token

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

CampoTipoObl.
grant_type"client_credentials"
client_idOmit when authenticating with HTTP Basic.stringNo
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.stringNo

Respuestas

CódigoDescripciónDevuelve
200Token emitido.OAuthTokenOut
400Petición mal formada, concesión no soportada o ámbito no concedido.OAuthErrorOut
401Credenciales inválidas.OAuthErrorOut
429Demasiadas peticiones para ese cliente.OAuthErrorOut
500Fallo inesperado del servidor, en el cuerpo de OAuth.OAuthErrorOut
503No hay clave de firma configurada.OAuthErrorOut