Esta guía describe el flujo de autenticación OAuth2 implementado en el servicio de autenticación de Cody. El servicio sigue el estándar OAuth2 para la autenticación y autorización de aplicaciones.
El primer paso es registrar tu aplicación como cliente OAuth2.
POST /auth/oauth/v2/clientBody de la petición:
{
"tenant_id": "string",
"user_id": "string",
"redirect_uri": "string"
}
Respuesta exitosa (201 Created):
{
"client_id": "uuid",
"client_secret": "uuid"
}
Obtén un código de autorización para el cliente registrado.
GET /auth/oauth/v2/authQuery Parameters:
client_id: UUID scope: Scope
Respuesta exitosa (200 OK):
{
"authorization_code": "string"
}
Intercambia el código de autorización por tokens de acceso y refresh.
POST /auth/oauth/v2/tokenBody de la petición:
{
"client_id": "uuid",
"client_secret": "uuid",
"code": "string"
}
Respuesta exitosa (200 OK):
{
"access_token": "string",
"refresh_token": "string",
"token_type": "Bearer",
"expires_in": 3600
}
Obtén un nuevo token de acceso usando el refresh token.
POST /auth/oauth/v2/refreshBody de la petición:
{
"refresh_token": "string"
}
Respuesta exitosa (200 OK):
{
"access_token": "string",
"token_type": "Bearer",
"expires_in": 3600
}
GET /auth/oauth/v2/clientQuery Parameters:
tenant_id: string
Respuesta exitosa (200 OK):
[
{
"client_id": "uuid",
"client_secret": "uuid",
"tenant_id": "string",
"user_id": "string",
"redirect_uri": "string"
}
]
GET /auth/healthRespuesta exitosa (200 OK):
{
"status": "ok"
}
El servicio utiliza códigos de estado HTTP estándar para indicar el resultado de las peticiones:
{
"detail": "Invalid client_id or client_secret or authorization_code",
"status_code": 401
}
El servicio implementa los siguientes límites de tasa para proteger contra abusos:
Para una documentación más detallada y la capacidad de probar los endpoints directamente, puedes acceder a:
/api/docs/api/redoc