Obtener token OAuth2
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 parclientId/clientSecretviaja en la cabeceraAuthorizationcomo HTTP Basic, no en el cuerpo. Devuelve unaccess_tokende corta duración (el valor por defecto deexpires_ines 900 segundos / 15 minutos). Envíalo en cada llamada posterior a la API comoAuthorization: Bearer {access_token}, junto conx-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 elaccess_tokenactual comosubject_tokeny el UUID del tenant de destino comoaudience. Devuelve un nuevoaccess_tokencon los roles y las authorities del tenant de destino. El token original no se revoca. Los parámetrosscopeyresourceno se aceptan y producirán un400 invalid_request.
Lee siempre expires_in de la respuesta y renueva el token antes de que caduque para evitar errores 401.
Autorizaciones
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.
Cuerpo de la petición
"authorization_code""uri"Code verifier de PKCE (cadena aleatoria original).
Cuerpo para el grant client_credentials — autenticación
servidor a servidor para los consumidores de la API de Zertiban. El
clientId y el clientSecret viajan como HTTP Basic Auth en la
cabecera Authorization, no en este cuerpo.
Debe ser client_credentials.
"client_credentials"Scopes opcionales separados por espacios. El parámetro scope
no es obligatorio para el acceso estándar a la API de Zertiban.
OBLIGATORIO cuando scope incluye web_app. UUID del tenant para el que se emite el token. El valor se incluye como reclamación tenant_id en el access token resultante.
"uuid""refresh_token"Conjunto de scopes reducido y opcional.
Cuerpo para el grant token-exchange (RFC 8693): 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 400 invalid_request.
Debe ser urn:ietf:params:oauth:grant-type:token-exchange.
"urn:ietf:params:oauth:grant-type:token-exchange"Access token (JWT) actual del usuario autenticado.
Debe ser urn:ietf:params:oauth:token-type:access_token.
"urn:ietf:params:oauth:token-type:access_token"UUID del tenant de destino al que el usuario quiere cambiar.
"uuid"ID de cliente OAuth2 del dashboard (cliente público, no requiere secreto).
Opcional. Por defecto urn:ietf:params:oauth:token-type:access_token.
Respuestas
Respuesta del token