Kundenseitiger Speicher
Bei Verwendung des eigenen Speichers haben Sie Zugriff auf:
- Benutzerregistrierung
- Authentifizierung über Benutzername und Passwort
- Passwortlose Authentifizierung über eine Telefonnummer
- Authentifizierung über soziale Netzwerke
- Zurücksetzen von Benutzerpasswörtern
Interaktionsablauf
Sie können das Login-Widget oder Ihre Anwendung, die die Login API-Aufrufe nutzt, als Client einsetzen. Die Interaktion zwischen dem Client und dem Xsolla Login-Server läuft wie folgt ab:
- Der Client sendet Anfragen an den Xsolla Login-Server. Das Anfrageformat ist in den Endpunkten JWT und Password erläutert.
- Der Xsolla Login-Server sendet Anfragen an Ihren Server. Befolgen Sie die Anleitung, um die Anfragen zu validieren.
- Der Xsolla Login-Server verarbeitet eine Antwort von Ihrem Server und sendet das Ergebnis an den Client zurück.
- Der Client verarbeitet die Antwort.
- Als JSON-Objekt.
- Als ein Array von Objekten mit Benutzerattributen. Die Objekte sollten die folgende Struktur aufweisen:
Parameter | Typ | Beschreibung |
---|---|---|
attr_type | string | Festlegung der Zugriffsebene eines Benutzers für dessen Zugriff auf Dienstattribute:
|
key | string | Der Attributname, anhand dem das Benutzerattribut identifiziert wird. Muss für jeden Benutzer eindeutig sein. Maximale Länge: 256 Zeichen. Ziffern, lateinische Buchstaben, Bindestriche und Unterstriche sind zulässig. |
permission | String oder null | Die Art und Weise, wie auf die Benutzerattribute zugegriffen wird, wirkt sich auf die Liste der von den Methoden zurückgegebenen Attribute aus:
Mögliche Werte: public , private (Standard). |
read_only | string | Ob das Attribut vor Änderungen geschützt ist. Standardmäßig ist false voreingestellt, und das Ändern von Attributwerten ist erlaubt. |
value | string | Der Wert des Benutzerattributs. Maximal Länge: 256 Zeichen. |
Benutzerregistrierung
- Der Client sendet die Anfrage
Register new user an den Xsolla-Login-Server. - Der Xsolla-Login-Server sendet eine Anfrage an die URL für neue Nutzer. Die Antwort muss dem in diesem Integrationsablauf angegebenen Format entsprechen. In der Antwort können Sie eine Liste von Benutzerattributen oder ein erforderliches JSON-Objekt angeben. Das von Ihnen in der Antwort angegebene JSON-Objekt wird im Feld
partner_data
des Benutzer-JWT aufgezeichnet.
http
- http
- curl
POST https://your.hostname/your_registration_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email":"j.smith@email.com",
"password":"123456",
"username":"j.smith@email.com"
}
curl --request POST \
--url 'https://your.hostname/your_registration_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
Antwort mit Benutzerattributen (Beispiele):
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
Antwort mit einem JSON-Objekt (Beispiel):
- json
{ "region": "Asia",
"type": "new"
}
- Nutzerdaten werden in die Xsolla-Datenbank geschrieben, während der Parameter
email
als "unbestätigt" gekennzeichnet wird. Der Benutzer erhält eine E-Mail zur Kontobestätigung. - Wenn Sie das Login-Widget integriert haben, wird der Benutzer zur Seite weitergeleitet. Dabei wird ihm folgende Meldung angezeigt: Bitte bestätigen Sie Ihr Konto gemäß den Anweisungen, die wir Ihnen per E-Mail an {email} gesendet haben.
- Auch bei einer fehlgeschlagenen Benutzerregistrierung können Sie eine Fehlermeldung im Authentifizierungs-Widget anzeigen. Übermitteln Sie dazu in der Antwort auf die Anfrage zur Benutzererstellung das Objekt
error
mit den folgenden Details:- Geben Sie im Parameter
code
den Wert011-002
an. - Geben Sie im Parameter
description
den Fehlermeldungstext an.
- Geben Sie im Parameter
- json
{
"error": {
"code": "011-002",
"description": "<string>"
}
}
Authentifizierung über Benutzername und Passwort
- Der Client sendet die Anfrage
Auth by username and password an den Xsolla-Login-Server. - Der Xsolla-Login-Server sendet eine Anfrage an die URL für die Benutzerverifizierung. Die Antwort muss dem in diesem Integrationsablauf angegebenen Format entsprechen. In der Antwort können Sie eine Liste von Benutzerattributen oder ein erforderliches JSON-Objekt angeben. Das von Ihnen in der Antwort angegebene JSON-Objekt wird im Feld
partner_data
des Benutzer-JWT aufgezeichnet.
http
- http
- curl
POST https://your.hostname/your_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email":"j.smith@email.com",
"password":"123456",
"username":"j.smith@email.com"
}
curl --request POST \
--url 'https://your.hostname/your_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
Antwort mit Benutzerattributen (Beispiele):
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
Antwort mit einem JSON-Objekt (Beispiel):
- json
{ "region": "Asia",
"type": "new"
}
- Der Xsolla Login-Server generiert einen Benutzer-JWT.
- Der Benutzer wird mittels
token
-Abfrageparameter zurlogin_url
weitergeleitet. Der Benutzer-JWT ist imtoken
-Parameter enthalten.
Passwortlose Authentifizierung über eine Telefonnummer
- Der Client öffnet ein Authentifizierungsformular, damit der Nutzer seine Telefonnummer eingeben kann.
- Der Nutzer gibt seine Telefonnummer ein.
- Der Client sendet die Anfrage
Start auth by phone number an den Xsolla-Login-Server. - Im Client wird ein Feld angezeigt, in dem der Nutzer den Verifizierungscode eingeben kann.
- Der Nutzer gibt den erhaltenen Verifizierungscode ein.
- Der Client sendet die Anfrage
Complete auth by phone number an den Xsolla-Login-Server. - Wenn sich der Nutzer erstmalig autorisiert, sendet der Xsolla-Login-Server eine Anfrage an die URL für das passwortlose Anmelden über Mobiltelefon. Die Antwort muss dem in diesem Integrationsablauf beschriebenen Format entsprechen. In der Antwort können Sie eine Liste von Benutzerattributen oder ein erforderliches JSON-Objekt angeben. Das von Ihnen in der Antwort angegebene JSON-Objekt wird im Feld
partner_data
des Benutzer-JWT aufgezeichnet.
http
- http
- curl
POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"login": "+12025550140",
"type": "phone"
}
curl --request POST \
--url 'https://your.hostname/your_phone_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"login":"+12025550140","type":"phone"}'
Antwort mit Benutzerattributen (Beispiele):
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
Antwort mit einem JSON-Objekt (Beispiel):
- json
{ "region": "Asia",
"type": "new"
}
Passwortlose Authentifizierung über E-Mail
- Der Client öffnet ein Authentifizierungsformular, damit der Nutzer seine E-Mail-Adresse eingeben kann.
- Der Nutzer gibt seine E-Mail-Adresse ein.
- Der Client sendet die Anfrage
Start auth by email an den Xsolla-Login-Server. - Im Client wird ein Feld angezeigt, in dem der Nutzer den Verifizierungscode eingeben kann.
- Der Nutzer gibt den erhaltenen Verifizierungscode ein.
- Der Client sendet die Anfrage
Complete auth by email an den Xsolla-Login-Server. - Wenn sich der Nutzer erstmalig autorisiert, sendet der Xsolla-Login-Server eine Anfrage an die URL für das passwortlose Anmelden über E-Mail. Die Antwort muss dem in diesem Integrationsablauf beschriebenen Format entsprechen. In der Antwort können Sie eine Liste von Benutzerattributen oder ein erforderliches JSON-Objekt angeben. Das von Ihnen in der Antwort angegebene JSON-Objekt wird im Feld
partner_data
des Benutzer-JWT aufgezeichnet.
http
- http
- curl
POST https://your.hostname/your_email_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email": "user@mail.com",
"type": "email"
}
curl --request POST \
--url 'https://your.hostname/your_email_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email": "user@mail.com","type": "email"}'
Antwort mit Benutzerattributen (Beispiele):
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
Antwort mit einem JSON-Objekt (Beispiel):
- json
{ "region": "Asia",
"type": "new"
}
Authentifizierung über soziale Netzwerke
Geben Sie die URL für die Anmeldung über soziales Netzwerk in den Einstellungen Ihres Login-Projekts im Kundenportal (unter Nutzerdatenbank > Speicher > Eigener Speicher) an, um Nutzerdaten bei der Authentifizierung über soziale Netzwerke abzurufen. An diese URL wird eine Anfrage mit den vom sozialen Netzwerk empfangenen Daten gesendet.
Authentifizierungsablauf:
- Der Client sendet die Anfrage
Auth via social network an den Xsolla-Login-Server. - Der Nutzer meldet sich bei einem sozialen Netzwerk an.
- Der Xsolla-Login-Server verarbeitet die vom dem sozialen Netzwerk empfangenen Nutzerdaten und sendet eine Anfrage an die URL für die Anmeldung über soziale Netzwerke. Die Antwort muss dem in diesem Szenario beschriebenen Format entsprechen. In der Antwort können Sie eine Liste von Benutzerattributen oder ein erforderliches JSON-Objekt angeben. Das von Ihnen in der Antwort angegebene JSON-Objekt wird im Feld
partner_data
des Benutzer-JWT aufgezeichnet.
Authorization: Bearer <JWT>
. Der bei der Anfrage übermittelte Benutzer-JWT enthält folgende Daten:Claim | Typ | Beschreibung |
---|---|---|
exp | Unix Timestamp | Das Verfallsdatum und die Verfallsuhrzeit des JWT. Die JWT-Lebensspanne beträgt 7 Minuten. Erforderlich. |
iat | Unix Timestamp | Das Ausgabedatum und die Ausgabeuhrzeit des JWT. Erforderlich. |
iss | string | Der Dienst, der das JWT unterzeichnet hat https://login.xsolla.com . Erforderlich. |
request_type | string | Konstant: gateway_request . Erforderlich. |
xsolla_login_project_id | string (UUID) | Die ID Ihres Login-Projekts im Kundenportal. Erforderlich. |
string | E-Mail-Adresse des Benutzers. | |
sub | string (UUID) | Gespeicherte Benutzer-ID aufseiten des Xsolla Login-Servers. Erforderlich. |
username | string | Benutzername. |
provider | string | Name des für die Authentifizierung verwendeten sozialen Netzwerks. Erforderlich. |
id | string | Benutzer-ID im sozialen Netzwerk. Erforderlich. |
social_access_token | string | Zugriffstoken des sozialen Netzwerks, über das der Nutzer authentifiziert wurde. Wenden Sie sich an Ihren Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com, wenn Sie diesen Claim übermitteln möchten. |
partner_data | string | Daten jeglicher Art, die von Ihrem Server im Antwortrumpf während der Authentifizierung zurückgegeben werden. Wenden Sie sich an Ihren Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com, wenn Sie diesen Claim übermitteln möchten. |
- json
{
"exp": 1573635020,
"iat": 1573634600,
"iss": "https://login.xsolla.com",
"request_type": "gateway_request",
"xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
"sub": "00000000-0000-0000-0000-000000000000",
"email": "example@test.com",
"username": "Smith707",
"provider": "google",
"id": "123",
}
URL für neue Nutzer Antwortbeispiel:
http
- http
- curl
POST https://your.hostname/your_social_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{}
curl --request POST \
--url 'https://your.hostname/your_social_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json'
Antwort mit Benutzerattributen (Beispiele):
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
Antwort mit einem JSON-Objekt (Beispiel):
- json
{ "region": "Asia",
"type": "new"
}
Benutzerpasswörter zurücksetzen
- Der Client sendet die Anfrage
Reset password an den Xsolla-Login-Server. - Der Xsolla-Login-Server sendet dem Nutzer eine Bestätigung über die Zurücksetzung des Passworts per E-Mail.
- Nachdem der Nutzer das Zurücksetzen des Passworts in der E-Mail bestätigt hat, wird er auf die entsprechende Seite weitergeleitet.
- Der Nutzer gibt ein neues Passwort ein.
- Der Xsolla-Login-Server sendet eine Anfrage an die URL zum Zurücksetzen des Passworts.
URL für neue Nutzer Antwortbeispiel:
http
- http
- curl
POST https://your.hostname/your_reset_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"username": "john@gmail.com",
"fields": {
"password": "NewPa$$word1"
}
}
curl --request POST \
--url 'https://your.hostname/your_reset_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'
Weitere Informationen
Nützliche Links
So verknüpfen Sie den kundenseitigen SpeicherHaben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.