Xsolla-logo

Generar un JWT

post/oauth2/token

Utilice esta llamada:

  • Para obtener un JWT de usuario .
  • Para actualizar el JWT cuando expire. Solo funciona si se transmite "scope=offline" en la llamada de registro o de autenticación.
  • Para obtener un JWT de servidor . La participación del usuario no es necesaria.
  • Para intercambiar el JWT del usuario por uno nuevo con diferente ámbito.

El uso de esta llamada depende del valor del grant_typeparámetro.

Request
Request Body schema: application/x-www-form-urlencoded
grant_type
required
string

El tipo de obtener el JWT. Puede ser:

  • authorization_code para intercambiar el código recibido en la llamada de autenticación al JWT. Se debe especificar el valor del parámetro code.
  • refresh_token para obtener el JWT actualizado cuando el valor anterior ha expirado. Debe especificarse el valor del parámetro refresh_token.
  • client_credentials para obtener el JWT del servidor. Se deben especificar los valores de los parámetros client_id y client_secret.
  • urn:ietf:params:oauth:grant-type:token_exchange para intercambiar el JWT de usuario existente con un ámbito diferente.
client_id
required
string

Su ID de aplicación. El valor de este parámetro depende del valor del parámetro grant_type:

Tenga en cuenta que los valores de los parámetros client_secret y client_id deben utilizarse desde el mismo cliente.

refresh_token
string

Valor de este parámetro recibido en la respuesta a la última solicitud de esta llamada con los valores authorization_code o refresh_token en el parámetro grant_type. Obligatorio si grant_type=refresh_token.

client_secret
string

Su clave secreta. El valor de este parámetro depende del valor del parámetro grant_type:

  • Si es authorization_code, cree un cliente de OAuth 2.0 y utilice su clave secreta. Obligatorio si creó un cliente de OAuth 2.0 con un tipo de autenticación confidencial.
  • Si es client_credentials, contacte con su gestor del éxito del cliente para crear un cliente de OAuth 2.0 de servidor y obtener su clave secreta. Obligatorio para este tipo de cliente.

Tenga en cuenta que los valores de los parámetros client_secret y client_id deben utilizarse desde el mismo cliente.

redirect_uri
string
code
string

Código de autenticación que se intercambia por un JWT. Obligatorio si grant_type=authorization_code.

code_verifier
string

El comprobador de código de la solicitud PKCE, que la aplicación generó originalmente antes de la solicitud de autorización.

audience
string

Lista de dominios a los que se puede aplicar el token

scope
string

Una lista de strings (cadenas) delimitadas por espacios, que distinguen entre mayúsculas y minúsculas, tal y como se define en la sección 3.3 de [RFC6749], que permiten que el cliente especifique el ámbito deseado del token de seguridad solicitado en el contexto del servicio o recurso en el que se usará el token. Los valores y la semántica asociada del ámbito son específicos del servicio y se espera que se describan en la documentación del servicio correspondiente.

subject_token
string

Un token de seguridad que representa la identidad del tercero en nombre del cual se hace la solicitud. Generalmente, el sujeto de este token será el sujeto del token de seguridad emitido en respuesta a la solicitud.

subject_token_type
string

Un token de seguridad que representa la identidad del tercero en nombre del cual se hace la solicitud. Generalmente, el sujeto de este token será el sujeto del token de seguridad emitido en respuesta a la solicitud.

Value: "access_token"
actor_token
string

Un token de seguridad que representa la identidad de la parte actuante. Normalmente, será la parte que está autorizada a usar el token de seguridad solicitado y a actuar en nombre del sujeto.

actor_token_type
string

Un identificador, como se describe en la sección 3, que indica el tipo de token de seguridad en el parámetro actor_token. Es OBLIGATORIO cuando el parámetro actor_token aparece en la solicitud, pero NO DEBE incluirse si no aparece.

Value: "server_token"
Responses
200

ACEPTAR

400

Bad Request (Solicitud errónea)

404

Not Found (No encontrado)

418

"I’m a teapot" (Soy una tetera)

422

Unprocessable Entity (Entidad no procesable)

429

Too Many Requests (Demasiadas solicitudes)

Request samples
application/x-www-form-urlencoded
refresh_token=string&grant_type=string&client_secret=string&client_id=string&redirect_uri=string&code=string&code_verifier=string&audience=string&scope=string&subject_token=string&subject_token_type=access_token&actor_token=string&actor_token_type=server_token
Response samples
application/json
{
  • "access_token": "2YotnFZFEjr1zCsicMWpAA",
  • "expires_in": 3600,
  • "refresh_token": "tGzv3JOkF0XG5Qx2TlKWIA",
  • "scope": "email user_profile",
  • "token_type": "bearer"
}