Saltar al contenido
Developer Docs

Obtener token OAuth2

POST
/idp/oauth2/token

Emite tokens OAuth2 que autentican todas las llamadas a la API. La base de seguridad de la plataforma.

Admite cuatro flujos según el tipo de integración:

  • client_credentials — acceso servidor a servidor a la API de Zertiban. El par clientId / clientSecret viaja en la cabecera Authorization como HTTP Basic, no en el cuerpo. Devuelve un access_token de corta duración (el valor por defecto de expires_in es 900 segundos / 15 minutos). Envíalo en cada llamada posterior a la API como Authorization: Bearer {access_token}, junto con x-tenant-id: {businessUuid}.
  • authorization_code + PKCE — inicio de sesión desde el navegador para el Dashboard de Zertiban.
  • refresh_token — intercambia un refresh token por un nuevo access token (normalmente para la sesión del Dashboard).
  • urn:ietf:params:oauth:grant-type:token-exchange — cambio de tenant a tenant dentro de la misma sesión de usuario. El dashboard envía el access_token actual como subject_token y el UUID del tenant de destino como audience. Devuelve un nuevo access_token con los roles y las authorities del tenant de destino. El token original no se revoca. Los parámetros scope y resource no se aceptan y producirán un 400 invalid_request.
  • urn:ietf:params:oauth:grant-type:token-exchange (delegado, de organización a organización) — un cliente M2M colaborador intercambia su propio access token de client_credentials por un nuevo access token que actúa en nombre de una organización cliente. El colaborador envía su propio access_token como subject_token y el UUID de la organización de destino como target_tenant (en lugar de audience). Devuelve un nuevo access_token cuyos sub y tenant_id son la organización de destino, con un claim act que identifica al colaborador. Requiere un mandato existente entre las dos organizaciones; de lo contrario, la solicitud se rechaza con 400 invalid_grant.

Lee siempre expires_in de la respuesta y renueva el token antes de que caduque para evitar errores 401.

Autorizaciones

clientSecretBasic

Autenticación de cliente OAuth2 para el endpoint de token. El
par clientId / clientSecret se envía como HTTP Basic Auth en
la cabecera Authorization (p. ej. curl -u clientId:clientSecret,
Python requests auth=(id, secret)), no en el cuerpo de la solicitud.
Obligatoria por defecto para clientes confidenciales.

Tipo
HTTP (basic)

Cuerpo de la petición

application/x-www-form-urlencoded
JSON
{
  
"grant_type": "client_credentials",
  
"scope": "openid profile api"
}

Respuestas

Respuesta del token

application/json
JSON
{
  
"access_token": "string",
  
"token_type": "Bearer",
  
"expires_in": 900,
  
"refresh_token": "string",
  
"scope": "string",
  
"id_token": "string",
  
"issued_token_type": "string",
  
"additionalProperties": "string"
}

Playground

Servidor
Autorización
Cuerpo

Ejemplos