Xsolla-logo

Générer un JWT

post/oauth2/token

Use this call:

  • To get a user JWT.
  • To refresh the JWT when it expires. Works only if scope=offline is passed in the registration or authentication call.
  • To get a server JWT. The user participation isn’t needed.
  • To exchange user JWT for a new one with different scope.

Usage of this call depends on the value of the grant_type parameter.

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

The type of getting the JWT. Can be:

  • authorization_code to exchange the code received in the authentication call to the JWT. The value of the code parameter must be specified.
  • refresh_token to get the refreshed JWT when the previous value is expired. The value of the refresh_token parameter must be specified.
  • client_credentials to get the server JWT. The values of the client_id and client_secret parameters must be specified.
  • urn:ietf:params:oauth:grant-type:token_exchange to exchange existing user JWT with different scope.
client_id
required
string

Votre ID d'application. La valeur de ce paramètre dépend de la valeur du paramètre grant_type :

Notez que les valeurs des paramètres client_secret et client_id doivent appartenir au même client.

refresh_token
string

Valeur de ce paramètre reçue dans la réponse à la dernière requête de cet appel avec les valeurs authorization_code ou refresh_token dans le paramètre grant_type. Requise si grant_type=refresh_token.

client_secret
string

Votre clé secrète. La valeur de ce paramètre dépend de la valeur du paramètre grant_type :

  • Si c'est authorization_code, créez un client OAuth 2.0 et utilisez sa clé secrète. Requise si vous avez créé un client OAuth 2.0 avec un type d'authentification confidentiel.
  • Si c'est client_credentials, contactez votre responsable de la réussite client pour créer un client OAuth 2.0 de serveur et obtenir sa clé secrète. Requise pour ce type de client.

Notez que les valeurs des paramètres client_secret et client_id doivent appartenir au même client.

redirect_uri
string
code
string

Code d'authentification échangé contre un JWT. Requis si grant_type=authorization_code.

code_verifier
string

Le vérificateur de code pour la requête PKCE, que l'application a généré à l'origine avant la requête d'autorisation.

audience
string

Liste des domaines pour lesquels le jeton peut être appliqué

scope
string

A list of space-delimited, case-sensitive strings, as defined in Section 3.3 of [RFC6749], that allow the client to specify the desired scope of the requested security token in the context of the service or resource where the token will be used. The values and associated semantics of scope are service specific and expected to be described in the relevant service documentation

subject_token
string

A security token that represents the identity of the party on behalf of whom the request is being made. Typically, the subject of this token will be the subject of the security token issued in response to the request.

subject_token_type
string

A security token that represents the identity of the party on behalf of whom the request is being made. Typically, the subject of this token will be the subject of the security token issued in response to the request.

Value: "access_token"
actor_token
string

A security token that represents the identity of the acting party. Typically, this will be the party that is authorized to use the requested security token and act on behalf of the subject.

actor_token_type
string

An identifier, as described in Section 3, that indicates the type of the security token in the actor_token parameter. This is REQUIRED when the actor_token parameter is present in the request but MUST NOT be included otherwise.

Value: "server_token"
Responses
200

OK

400

Bad Request

404

Not Found

418

I’m a teapot

422

Unprocessable Entity

429

Too Many Requests

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"
}