https://login.xsolla.com/api
Dieser Abschnitt beschreibt API-Aufrufe für die Arbeit mit Login. Konfigurieren Sie Ihr Login-Projekt im Kundenportal, bevor Sie Anfragen senden.
Im Kundenportal haben Sie Zugriff auf die folgenden Login-Projekttypen:
Weitere Informationen dazu finden Sie unter Plattformübergreifendes Konto.
Die Login API unterstützt die folgenden Tokentypen:
Ob ein API-Aufruf client- oder serverseitig erfolgt, können Sie anhand des Authentifizierungsschemas feststellen:
Authorization
header: Bearer <user_JWT>
header,
where <user_JWT>
— is the user token.X-SERVER-AUTHORIZATION: <server_JWT>
, where
<server_JWT>
— is the server token.Senden Sie eine der folgenden Anfragen, um den Token abzurufen:
Nach der JWT-Authentifizierung wird der Benutzer mithilfe eines Tokens in einem
Abfrageparameter zur Rückruf-URL weitergeleitet: <Callback URL>?token=<User token (JWT)>
.
After OAuth 2.0 protocol-based authentication, send the Generate
JWT POST
request to the Xsolla Login server to exchange the received code
parameter
for a user token (access_token
).
When the access token expires, the client sends Generate
JWT POST
request endpoint on the Xsolla Login server. The request body must include the
following parameters:
grant_type
— JWT grant type, pass the refresh_token
value.client_id
— OAuth 2.0 client ID.refresh_token
— refresh token received in response to the user authorization
request.So rufen Sie ein Servertoken ab:
Implementieren Sie im Backend Ihrer Anwendung eine Methode, um den Server-JWT mithilfe des API-Aufrufs JWT generieren abzurufen. Die Anfrage muss folgende Parameter enthalten:
grant_type
is the type of getting JWT, pass the client_credentials
value.client_secret
is the secret key that is received when you set up the server
OAuth 2.0 client.client_id
is the client ID received when you set up the server OAuth 2.0
client.When the server token expires, generate a new token using the Generate JWT API call. The request body must include the following parameters:
grant_type
— JWT grant type, pass the client_credentials
value.client_id
— OAuth 2.0 client ID.client_secret
— OAuth 2.0 client secret key.To prevent Xsolla system overloads and protect against sudden spikes in
incoming traffic, Xsolla limits the number of requests received by the Xsolla
API within a specified period of time. If the limit is exceeded, the Xsolla API
returns an HTTP response with the 429
status code.
Rate limits vary by method, IP-address, authentication scheme, and other factors.
Rate limits for server-side methods are applied to methods with server-side
authentication — methods that are called with the X-SERVER-AUTHORIZATION:
<server_JWT>
header, where <server_JWT>
is the server
token.
Rate limits for client-side methods are applied to methods without
authentication or with client-side authentication — methods that are called
with the Authorization: Bearer <user_JWT>
header, where
<user_JWT>
is the user token.
Example of a method with server-side authentication: Example of a method with client-side authentication:
Rate limits for client-side methods do not change and are necessary to prevent brute-force attacks. The maximum request rate for server-side methods is higher than for client-side methods. You can refer to the recommendations on how to manage rate limits in the documentation.
Jeder Token hat ein JWT-Format und enthält eine bestimmte Information in einer Payload.
Ein Benutzer-JWT ist ein Token, der infolge einer Authentifizierung oder Registrierung empfangen wird. Eine Token-Payload enthält Informationen über den Benutzer und den Authentifizierungsaufruf.
Um einen Benutzertoken über das OAuth 2.0-Protokoll abzurufen, ist ein OAuth
2.0-Client erforderlich. Der Benutzertoken wird im Header Authorization: Bearer <JWT>
übermittelt.
Nach der Authentifizierung oder Bestätigung der E-Mail-Adresse enthält ein Token die wichtigsten Claims. Ob diese Claims vorhanden sind, hängt nicht von der Nutzerdatenbank und dem Authentifizierungsaufruf ab.
Claim | Typ | Erforderlich | Beschreibung |
exp |
Unix-Zeitstempel | Ja | Datum und Uhrzeit des Tokenverfalls. Die Standardverfallszeit beträgt 24 Stunden. Sie können die Verfallszeit für jedes Login-Projekt individuell festlegen. |
iss |
String | Ja | Dienst, der den Token signiert hat: https://login.xsolla.com . |
iat |
Unix-Zeitstempel | Ja | Datum und Uhrzeit der Tokenübermittlung. |
sub |
String (UUID) | Ja | Aufseiten des Xsolla-Login-Servers geschriebene Benutzer-ID. |
groups |
Array | Ja |
Liste der Gruppen, denen der Benutzer zugeordnet ist. Jede Gruppe wird in dem folgendem Format geschrieben:
Es kann nur eine Standardgruppe geben. Diese Gruppe umfasst zunächst alle Benutzer, bevor diese verschiedenen Gruppen zugeordnet werden. |
xsolla_login_project_id |
String (UUID) | Ja | Login-Projekt-ID. |
type |
String |
Authentifizierungsoption:
Es kann nur eine Standardgruppe geben. Diese Gruppe umfasst zunächst alle Benutzer, bevor diese verschiedenen Gruppen zugeordnet werden. |
|
avatar |
String | Benutzer-Avatar-URL. | |
username |
String | Benutzername. | |
publisher_id |
Integer | ID eines Händlers, dem ein Login-Projekt gehört. | |
email |
String | E-Mail-Adresse des Benutzers. | |
payload |
String | Zusätzliche Informationen, die während der Authentifizierung im Payload-Parameter übermittelt werden. | |
promo_email_agreement |
boolesch |
Folgende Werte sind möglich:
true ist standardmäßig eingestellt.
So fügen Sie die Funktion der Registrierungsmaske des Login-Widgets hinzu:
|
|
connection_information |
String | Zeigt an, ob der Benutzer sein Geburtsdatum bestätigt hat oder nicht. Die Bestätigung erfolgt über den Dienst okname. |
Claims, die nach der Authentifizierung im Token enthalten sind, sofern Sie den PlayFab-Speicher verwenden.
Claim | Typ | Erforderlich | Beschreibung |
external_account_id |
String | Ja | PlayFab-ID des Benutzers. |
session_ticket |
String | Ja |
Ein während einer Authentifizierungsanfrage oder während Anfragen an die PlayFab API empfangener SessionTicket-Parameter. Ein Token enthält diesen Claim, wenn Sie Benutzer über das OAuth 2.0-Protokoll authentifizieren und dabei den Wert |
entity_token |
String | Ja | Ein EntityToken.EntityToken-Parameter. |
entity_type |
String | Ja | Ein EntityToken.Entity.Type-Parameter. Einzig möglicher Wert:title_player_account . |
entity_id |
String | Ja | Ein EntityToken.Entity.Id-Parameter. |
Claims, die nach der Authentifizierung im Token enthalten sind, sofern Sie einen eigenen Speicher verwenden.
Claim | Typ | Erforderlich | Beschreibung |
provider |
String | Ja | Name des sozialen Netzwerks, das zur Authentifizierung verwendet wird. Wenn sich der Benutzer über einen Benutzernamen und ein Passwort authentifiziert, hat der Claim den Wert xsolla . |
external_account_id |
String | Benutzer-ID aufseiten Ihres Servers. | |
partner_data |
Data of any type returned by your server in the response body during authentication. To enable the transmission of this claim, contact your Customer Success Manager or email to csm@xsolla.com | ||
social_access_token |
Access token of the social network through which the user was authenticated. To enable the transmission of this claim, contact your Customer Success Manager or email to csm@xsolla.com. |
Claims, die nach der Authentifizierung über ein soziales Netzwerk im Token enthalten sind. Ob diese Claims vorhanden sind, hängt nicht von der Nutzerdatenbank ab.
Claim | Typ | Erforderlich | Beschreibung |
provider |
String | Ja | Name des zur Authentifizierung verwendeten sozialen Netzwerks. |
id |
String | Ja | Benutzer-ID im sozialen Netzwerk. |
is_cross_auth |
boolesch | Zeigt an, dass die Stille-Authentifizierung-Anfrage läuft. | |
social_access_token |
String | Der zur Authentifizierung genutzte access_token -Parameter des Social-Media-Kontos. Wenden Sie sich an Ihren Account Manager, um die Funktion einzurichten. |
|
picture |
String (URL) | Link zum Profilbild des Benutzers in einem sozialen Netzwerk. | |
birthday |
Datum (RFC3339) | Geburtsdatum des Benutzers in einem sozialen Netzwerk. | |
gender |
String | Geschlecht des Benutzers in einem sozialen Netzwerk. | |
name |
String | Nickname des Benutzers in einem sozialen Netzwerk. |
Claim, der nach der Authentifizierung über eine Telefonnummer im Token enthalten ist.
Claim | Typ | Erforderlich | Beschreibung |
phone_number |
String | Ja | Die zur Authentifizierung verwendete Telefonnummer des Benutzers. Das Telefonnummernformat setzt sich zusammen aus Landesvorwahl, nationaler Vorwahl und Anschlusskennung ohne Trennzeichen. |
Der Servertoken wird im X-SERVER-AUTHORIZATION
-Header übermittelt.
Die Token-Payload enthält Informationen über Ressourcen, die dem OAuth 2.0-Client gehören. Der Token kann auf diese Ressourcen durch Aufrufe mit serverbasierter Authentifizierung zugreifen.
Claim | Typ | Erforderlich | Beschreibung |
xsolla_login_project_id |
String (UUID) | Ja | ID eines Login-Projekts, das dem OAuth 2.0-Client gehört. |
resources |
Array | Ja |
Liste der Ressourcen, die einem OAuth 2.0-Client gehören. Mögliche Ressourcentypen:
Jede Gruppe wird im folgenden Format geschrieben:
|
jti |
String | Ja | Eindeutige Token-ID. |
To validate the JWT, use the following Login API calls:
Hinweis
Geben Sie Ihren geheimen Schlüssel niemals weiter. Falls er kompromittiert wurde, aktualisieren Sie ihn bitte.
Refer to the documentation for information about Xsolla Login API errors.