Login / OAuth 2.0-Protokoll
 Alle Dokumentation

Login

  • Integrationsleitfaden

  • Authentifizierungs­optionen

  • Nutzerdatenspeicher

  • Sicherheit

  • Personalisierung

  • Anbieter von Kommunikationsdiensten

  • Funktionen

  • Anleitungen

  • Erweiterungen

  • Einstellungen zu Rechtlichem

  • Referenzen

  • OAuth 2.0-Protokoll

    Überblick

    Das Login-Produkt unterstützt das OAuth 2.0-Standardprotokoll für die Benutzerregistrierung und ‑authentifizierung. Das OAuth 2.0-Standardautorisierungsprotokoll vereinfacht die Entwicklung von Client-Anwendungen und ermöglicht es Ihnen, Zugriffstoken ohne Zutun der Benutzer zu aktualisieren. Ausführliche Informationen über das OAuth 2.0-Protokoll finden Sie auf der offiziellen Website. Der Benutzer-JWT fungiert als Zugriffstoken.

    Die Interaktion zwischen Ihrem OAuth 2.0-Client und dem Xsolla-Login-Server läuft wie folgt ab:

    So richten Sie das OAuth 2.0-Protokoll ein:

    1. Verknüpfen Sie das Login-Produkt.
    2. Richten Sie den Xsolla-, PlayFab- oder Firebase-Speicher ein.
    3. Verknüpfen Sie einen OAuth 2.0-Client.

    OAuth 2.0-Client verknüpfen

    1. Öffnen Sie Ihr Projekt im Kundenportal, und wechseln Sie zum Abschnitt Login.
    2. Klicken Sie beim gewünschten Login-Projekt auf Konfigurieren.
    3. Scrollen Sie auf der Navigationsseite zum Block Sicherheit, und klicken Sie auf OAuth 2.0.

    1. Klicken Sie auf OAuth 2.0-Client hinzufügen.

    1. Geben Sie im Modalfenster Folgendes an:
      • Client-Name.
      • URI(s), an die die Benutzer nach einer Kontobestätigung, einer erfolgreichen Authentifizierung oder dem Zurücksetzen des Passworts weitergeleitet werden.
      • Authentifizierungstyp: öffentlich, vertraulich oder Server.

    Hinweis
    Informationen zu den Authentifizierungstypen (Client-Typen) finden Sie unter The OAuth 2.0 Authorization Framework und Confidential and Public Applications. Die Authentifizierungstypen "Server" und "Vertraulich" nutzen beide einen vertraulichen Client, unterscheiden sich aber in der Art und Weise, wie sie den Zugriff auf die Anwendung gewähren (weitere Informationen finden Sie unter Application Grant Types):
    • bei der Serverauthentifizierung: grant_type=client_credentials;
    • bei der vertraulichen und öffentlichen Authentifizierung: grant_type=authorization_code oder grant_type=refresh_token.
    Erfolgt die Integration über die Login API, sollten Sie bei der Wahl des Authentifizierungstyps die folgenden Aspekte berücksichtigen:
    • Der vertrauliche Client erfordert eine Client-ID und einen geheimen Schlüssel, wenn Sie die Methode Generate JWT aufrufen, um ein Zugriffstoken abzurufen oder zu aktualisieren.
    • Der öffentliche Client erfordert bloß die Client-ID.
    • Der Methodenaufruf JWT auth by username and password ist nur bei der öffentlichen Authentifizierung verfügbar.

    1. Klicken Sie auf Verknüpfen.

    1. Daraufhin wird eine Client-ID und ein geheimer Schlüssel generiert. Beide sind für die Einrichtung der OAuth 2.0-Authentifizierung in Ihrer Anwendung erforderlich.

    1. Kopieren Sie im Dialogfenster die Client-ID und den geheimen Schlüssel mithilfe der Kopieren-Schaltfläche.

    OAuth 2.0-Client-Einstellungen abrufen

    Wenn Sie die Client-ID und den geheimen Schlüssel beim Verknüpfen des OAuth 2.0-Client nicht kopiert haben, können Sie wie folgt auf die Daten zuzugreifen:

    1. Öffnen Sie Ihr Projekt im Kundenportal, und wechseln Sie zum Abschnitt Login.
    2. Klicken Sie beim gewünschten Login-Projekt auf Konfigurieren.
    3. Scrollen Sie auf der Navigationsseite zum Block Sicherheit, und klicken Sie auf OAuth 2.0.
    4. Gehen Sie in der Zeile des gewünschten OAuth 2.0-Clients wie folgt vor:
      • Kopieren Sie den Inhalt des Feldes Client-ID.
      • Klicken Sie auf Client-Schlüssel, um den geheimen Schlüssel zu kopieren.

    Die Client-ID und der geheime Schlüssel entsprechen den Parametern client_id und client_secret in den Methoden der Login API. Verwenden Sie diese Werte, wenn Sie mit OAuth 2.0-Clients arbeiten.

    Hinweis
    Wenn Sie die OAuth 2.0-Authentifizierung in Ihrer Anwendung implementieren, empfehlen wir Ihnen, den Code aus den Client-Bibliotheken zu verwenden. So können Sie Ihre Informationen und die Daten Ihrer Benutzer schützen.

    Integration aufseiten der Anwendung

    Folgende Integrationsmöglichkeiten stehen zur Auswahl:

    Bei der Arbeit mit der Login API und dem Login-Widget wird der Parameter scope verwendet. Dieser kann folgende Werte annehmen:

    • offline zum Aktualisieren des Zugriffstokens. Übermitteln Sie scope=offline an die Registrierungs- bzw. Authentifizierungsmethode.
    • email zum Abfragen der E-Mail-Adresse des Benutzers, wenn die Authentifizierung über ein soziales Netzwerk erfolgt. Wenn Sie das Login-Produkt über die Login API integriert haben, übermitteln Sie scope=email an die Registrierungs- bzw. Authentifizierungsmethode. Wenn Sie das Login-Produkt hingegen über das Login-Widget integriert haben, müssen Sie die Erfassung von E-Mail-Adresse konfigurieren, wie in dieser Anleitung beschrieben.

    Integration über das Login-Widget

    Wenn die Integration über das Login-Widget erfolgte, fügen Sie die Parameter client_id, response_type, state und redirect_uri dem Initialisierungscode hinzu. Im Parameter redirect_uri müssen Sie den Wert angeben, der bei der Verknüpfung des OAuth 2.0-Clients im Kundenportal festgelegt wurde. Ebenso können Sie den Parameter scope hinzufügen.

    Anfragebeispiel:

    Copy
    Full screen
    Small screen

    <script>
    const xl = new XsollaLogin.Widget({
      projectId: 'LOGIN_PROJECT_ID',
      preferredLocale: 'en_US',
      clientId: 'CLIENT_ID',
      responseType: 'code',
      state: 'CUSTOM_STATE',
      redirectUri: 'REDIRECT_URI',
      scope: 'SCOPE'
    });
    </script>

    Integration über die Login API

    Nutzen Sie die API-Methoden für das OAuth 2.0-Protokoll, um Benutzer zu registrieren und zu authentifizieren. Wenn Sie bereits Methoden für den JWT-Standard integriert haben, ersetzen Sie diese durch OAuth 2.0-Methodenaufrufe.

    Tauschen Sie beim Aufruf von Authentifizierungsmethoden den empfangenen Parameter code gegen einen Zugriffstoken.

    Integration über die Xsolla-SDKs

    Die Xsolla-SDKs unterstützten die auf dem OAuth 2.0-Protokoll basierende Authentifizierung. Wählen Sie die Game-Engine oder Plattform, und befolgen Sie die entsprechende Anleitung, um den OAuth 2.0-Client einzurichten:

    Zugriffstoken abrufen

    Verwenden Sie die Methode Generate JWT mit den folgenden Parameterwerten, um einen Benutzerzugriffstoken abzurufen:

    Die API-Methode antwortet mit folgenden Token:

    • access_token – ein Zugriffstoken. Dieser verfällt standardmäßig nach 1 Stunde.
    • refresh_token – ein Aktualisierungstoken. Diese ist zeitlich unbegrenzt gültig.

    Anfragebeispiel:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl

    POST https://login.xsolla.com/api/oauth2/token HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    client_id=11&client_secret=vGbXcsQ0CEW233m2qldYkd5IxbnRKoWt2YiBOgHYJGRGQwtIAdtxgxT64ik&code=ldYkd5IxbnRKoWt2YiBOgHYJGRGQwtIAdtxgxT64ik&grant_type=authorization_code&redirect_uri=https://my-website.com/callback
    curl --request POST \
      --url https://login.xsolla.com/api/oauth2/token \
      --header 'content-type: application/x-www-form-urlencoded' \
      --data grant_type=authorization_code \
      --data client_secret=vGbXcsQ0CEW233m2qldYkd5IxbnRKoWt2YiBOgHYJGRGQwtIAdtxgxT64ik \
      --data client_id=11 \
      --data redirect_uri=https://my-website.com/callback \
      --data code=ldYkd5IxbnRKoWt2YiBOgHYJGRGQwtIAdtxgxT64ik

    Zugriffstoken aktualisieren

    Wenn der Zugriffstoken abläuft, können Sie ihn mithilfe der Methode Generate JWT und dem Parameter grant_type aktualisieren, wie beim refresh_token und dem letzten Wert des erhaltenen Aktualisierungstokens (refresh_token).

    Die API-Methode antwortet mit einem neuen Tokenpaar: access_token (Zugriffstoken) und refresh_token (Aktualisierungstoken), die dann erneut aktualisiert werden können.

    Anfragebeispiel:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl

    POST https://login.xsolla.com/api/oauth2/token HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    client_id=11&client_secret=vGbXcsQ0CEW233m2qldYkd5IxbnRKoWt2YiBOgHYJGRGQwtIAdtxgxT64ik&grant_type=refresh_token&refresh_token=111dfgdfgdf&redirect_uri=https://my-website.com/callback
    curl --request POST \
      --url https://login.xsolla.com/api/oauth2/token \
      --header 'content-type: application/x-www-form-urlencoded' \
      --data grant_type=refresh_token \
      --data client_secret=vGbXcsQ0CEW233m2qldYkd5IxbnRKoWt2YiBOgHYJGRGQwtIAdtxgxT64ik \
      --data client_id=11 \
      --data redirect_uri=https://my-website.com/callback \
      --data refresh_token=111dfgdfgdf

    Hinweis
    Das Login-Produkt unterstützt standardmäßig maximal fünf gleichzeitige Benutzersitzungen. Bei jeder neuen Benutzerauthentifizierung verliert das Tokenpaar (access_token und refresh_token), das der Benutzer vor den letzten fünf Tokenpaaren erhalten hat, seine Gültigkeit. Wenn Sie die Anzahl der gleichzeitigen Benutzersitzungen ändern möchten, wenden Sie sich an Ihren Account Manager.
    War dieser Artikel hilfreich?
    Vielen Dank!
    Gibt es etwas, das wir verbessern können? Nachricht
    Das tut uns leid
    Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
    Vielen Dank für Ihr Feedback!
    Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
    Diese Seite bewerten
    Diese Seite bewerten
    Gibt es etwas, das wir verbessern können?

    Jetzt nicht

    Vielen Dank für Ihr Feedback!
    Letztmalig aktualisiert: 14. Februar 2023

    Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.

    Problem melden
    Wir überprüfen unsere Inhalte ständig. Ihr Feedback hilft uns, sie zu verbessern.
    Geben Sie eine E-Mail-Adresse an, damit wir Sie erreichen können
    Vielen Dank für Ihr Feedback!