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 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.urn:ietf:params:oauth:grant-type:token-exchange(delegado, de organización a organización) — un cliente M2M colaborador intercambia su propio access token declient_credentialspor un nuevo access token que actúa en nombre de una organización cliente. El colaborador envía su propioaccess_tokencomosubject_tokeny el UUID de la organización de destino comotarget_tenant(en lugar deaudience). Devuelve un nuevoaccess_tokencuyossubytenant_idson la organización de destino, con un claimactque identifica al colaborador. Requiere un mandato existente entre las dos organizaciones; de lo contrario, la solicitud se rechaza con400 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"
{
}