Kundenseitiger Speicherort

So funktioniert's

  1. Ihre Anwendung (der "Client") sendet eine Anfrage an den Xsolla-Login-Server. Das Anfrageformat ist in den Methodengruppen JWT und General beschrieben.
  2. Der Xsolla-Login-Server sendet eine Anfrage an Ihren Server. Validieren Sie die Anfragen mithilfe der Anleitung.
  3. Der Xsolla-Login-Server verarbeitet die von Ihrem Server erhaltene Antwort und sendet das Ergebnis zurück an Ihren Client.
  4. Ihr Client verarbeitet diese Antwort.

Info: Nutzerdaten sind sowohl in Ihrer Datenbank als auch bei Xsolla gespeichert. Die Passwörter werden hingegen nur in Ihrer Datenbank gespeichert.

Registrierung

  1. Der Client sendet die Anfrage Register an den Xsolla-Server.
  2. Der Xsolla-Login-Server sendet ein Anfrage an die URL für neue Nutzer. Die Antwort muss dem in dieser Anleitung angegebenen Format entsprechen.

Anfragebeispiel:

POST https://example.registration.com

Headers:
Content-Type: application/json
Authorization: Bearer {JWT}

Body:
{
  "email": "john@gmail.com",
  "password": "123456"
}

  1. Nutzerdaten werden in der Xsolla-Datenbank gespeichert, während:
    • der Parameter email mit "unbestätigt" gekennzeichnet wird. Der Benutzer erhält eine E-Mail zur Kontobestätigung.
    • das Passwort nicht gespeichert wird.
  2. Wenn Sie das Login-Widget integriert haben, wird der Benutzer auf die 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.

Authentifizierung mittels Benutzername und Passwort

  1. Der Client sendet die Anfrage Auth by Username and Password an den Xsolla-Server.
  2. Der Xsolla-Login-Server sendet ein Anfrage an die URL zur Benutzerverifizierung. Die Antwort muss dem in dieser Anleitung angegebenen Format entsprechen.

Anfragebeispiel:

POST https://example.authentication.com

Headers:
Content-Type: application/json
Authorization: Bearer {JWT}

Body:
{
  "email": "john@gmail.com",
  "password": "123456"
}

  1. Der Xsolla-Login-Server generiert einen Benutzer-JWT.
  2. Der Benutzer wird mittels token-Abfrageparameter zur login_url weitergeleitet. Der Benutzer-JWT ist im token-Parameter enthalten.

Wenn in der Xsolla-Datenbank keine Informationen über den Benutzer vorhanden sind, wird ein neuer Eintrag angelegt. Das Passwort wird jedoch nicht gespeichert.

Passwort zurücksetzen

  1. Der Client sendet die Anfrage Reset Password an den Xsolla-Server.
  2. Der Xsolla-Login-Server sendet ein Anfrage an die URL für das Zurücksetzen des Passworts. Die Antwort muss dem in dieser Anleitung angegebenen Format entsprechen. Der Benutzer erhält eine E-Mail zur Verifizierung der Passwortänderung.

Anfragebeispiel:

POST https://example.reset.com

Headers:
Content-Type: application/json
Authorization: Bearer {JWT}

Body:
{
  "email": "john@gmail.com"
}

  1. Ein neues Passwort wird in Ihre Datenbank geschrieben.

Für wen ist es

Partner, die bereits das Login integriert und die standardmäßige JWT-Authentifizierung implementiert haben.

Wie komme ich dazu

So konfigurieren Sie die Verbindung zwischen dem Xsolla-Login-Server und Ihrer Anwendung (Ihrem Client):

  1. Verknüpfen Sie den kundenseitigen Speicher.
  2. Konfigurieren Sie die Validierung der Anfragen vom Xsolla-Login-Server.

Verknüpfung des kundenseitigen Speichers

  1. Navigieren Sie im Kundenportal zu Login-Projekte > Allgemeine Einstellungen.
  2. Wählen Sie unter Nutzerdatenspeicherung die Option Kundenseitig aus.
  3. Geben Sie die URLs für das Senden von API-Anfragen ein:
    • URL zur Benutzerverifizierung,
    • URL für neue Nutzer,
    • URL für das Zurücksetzen des Passworts,
    • URL zum Ändern der E-Mail-Adresse.
  4. Implementieren Sie eine API, die in folgender Weise antwortet:
    • HTTP 200/HTTP 204 bei erfolgreicher Anfrage. Ein JSON mit weiteren Nutzerdaten kann bei Bedarf im Antwortrumpf eingefügt werden. Die übermittelten Daten werden in einen JWT > partner_data-Parameter geschrieben.
    • Sonstige HTTP-Statuscodes bei erfolglosen Anfragen.

Info: Wenn ein JWT die Benutzer-ID aus Ihrer Datenbank enthalten soll, wenden Sie sich bitte an Ihren Account Manager.

Validierung der Anfragen vom Xsolla-Login-Server

Anfragen des Xsolla-Login-Servers werden mittels Titel Authorization: Bearer <JWT> an Ihre URLs gesendet. Der JWT wird mit dem geheimen Schlüssel Ihres Projekts unterzeichnet.

So validieren Sie den JWT:

  1. Kopieren Sie den Wert des geheimen Schlüssels (Kundenportal > Login-Projekte > Allgemeine Einstellungen > Geheimer Schlüssel).
  2. Wählen Sie eine Bibliothek/Library aus und übermitteln Sie den Wert des geheimen Schlüssels an die Validierungsfunktion.
  3. Dekodieren Sie bei erfolgreicher Validierung den JWT und stellen Sie sicher, dass er die Claims aus folgender Tabelle beinhaltet. Finden und verwenden Sie eine Bibliothek/Library zum Dekodieren.

ClaimBeschreibung
expDas Verfallsdatum und die Verfallsuhrzeit des JWT im Unix Timestamp-Format. Die JWT-Lebensspanne beträgt 7 Minuten.
iatDas Ausgabedatum und die Ausgabeuhrzeit des JWT im Unix Timestamp-Format.
issDer Dienst, der das JWT unterzeichnet hat https://login.xsolla.com.
request_typeKonstant: gateway_request.
xsolla_login_project_idDie ID Ihres Login-Projekts im Kundenportal.

Beispiel:

{
  "exp": 1573635020,
  "iat": 1573634600,
  "iss": "https://login.xsolla.com",
  "request_type": "gateway_request",
  "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000"
}