Login / Single Sign-on
 Alle Dokumentation

Login

  • Integrationsleitfaden

  • Authentifizierungs­optionen

  • Nutzerdatenspeicher

  • Sicherheit

  • Personalisierung

  • Anbieter von Kommunikationsdiensten

  • Funktionen

  • Anleitungen

  • Erweiterungen

  • Einstellungen zu Rechtlichem

  • Referenzen

  • Single Sign-on

    So funktioniert's

    Wenn Sie mehrere verknüpfte Dienste mit einem gemeinsamen Konto für die Benutzerauthentifizierung haben, können Sie Single Sign-on verwenden. Die Website des Spiels fungiert dabei als Dienst. Sie erlaubt es einem Benutzer, seine Anmeldedaten nur einmal einzugeben. Danach ist der Benutzer beim Öffnen eines der verknüpften Dienste bereits authentifiziert.

    Interaktionsablauf

    1. Nicht authentifizierter Benutzer öffnet einen der Dienste.
    2. Ihr Client sendet die Anfrage Check user authentication an den Xsolla-Login-Server und erhält die Fehlermeldung 401.
    3. Ihr Client öffnet das Authentifizierungsformular (Login-Widget oder Ihre Anmeldeoberfläche) für den Benutzer.
    4. Der Benutzer authentifiziert sich mittels Benutzername und Passwort oder über ein soziales Netzwerk.

    1. Ihr Client authentifiziert den Benutzer in Ihrem Login-Projekt:
      • Die folgenden Anfragen werden bei der Integration von Login über die API-Aufrufe verwendet:
        • Authentifizierung über Benutzername und Passwort (JWT und OAuth 2.0).
        • Authentifizierung über soziale Netzwerke (JWT und OAuth 2.0).
      • Bei der Integration von Login über das Widget wird das OAuth 2.0-Protokoll verwendet.
      Die Benutzersitzungsdaten werden auf dem Xsolla-Login-Server gespeichert. Der Server sendet den login_uri samt dem darin enthaltenen redirect_uri mit code im Anfrageparameter.

    1. Ihr Client leitet den Benutzer zum redirect_uri um.
    2. Ihr Server sendet die Anfrage Generate JWT, um den empfangenen code gegen einen JWT auszutauschen. Daraufhin wird der Benutzer bei dem Dienst authentifiziert.
    3. Der Benutzer ruft einen weiteren Dienst auf.
    4. Ihr Client sendet die Anfrage Check user authentication an den Xsolla-Login-Server und empfängt den login_uri samt darin enthaltenem redirect_uri mit code im Abfrageparameter.
    5. Ihr Server sendet die Anfrage Generate JWT, um den empfangenen code gegen einen JWT auszutauschen. Daraufhin wird der Benutzer bei dem zweiten Dienst authentifiziert.

    Zugriffsrechte für verschiedene Dienste differenzieren

    Sie können spezielle Werte des Parameters scope (z. B scope=playfab) in verschiedenen OAuth 2.0-Clients verwenden, um die Benutzerkonto-Zugriffsrechte für verschiedene Dienste zu differenzieren.

    Für wen ist es

    Partner, die Login bereits integriert haben und die Xsolla-, Firebase- oder PlayFab-Datenbank nutzen.

    Wie komme ich dazu

    So binden Sie den Single Sign-on ein:

    1. Verknüpfen Sie das OAuth 2.0-Protokoll.
    2. Implementieren Sie die Rückrufanfrage für das Abrufen der Benutzersitzung.

    OAuth 2.0-Protokoll verknüpfen

    Folgen Sie der Anleitung, um das OAuth 2.0-Protokoll zu verknüpfen. Sie können einen OAuth 2.0-Client für alle Dienste verwenden oder für jeden Dienst einen separaten OAuth 2.0-Client erstellen.

    Aufrufanfrage für das Abrufen der Benutzersitzung

    Implementieren Sie die Rückrufanfrage Check user authentication beim Öffnen Ihres Dienstes. Die Anfrage ist auszuführen, bevor das Authentifizierungsformular für den Benutzer geöffnet wird. Verwenden Sie zur Authentifizierung die OAuth 2.0-Client-Parameter genau jenes Dienstes, mit dem sich der Benutzer authentifizieren möchte.

    Anfragebeispiel:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl

    GET https://login.xsolla.com/api/oauth2/sso?client_id=<client_id>&redirect_uri=<redirect_uri>&scope=<scope>&state=<state>&response_type=code HTTP/1.1
    curl --request GET \
      --url 'https://login.xsolla.com/api/oauth2/sso?redirect_uri=redirect_uri&response_type=code&state=state&scope=scope&client_id=client_id'

    Antwortbeispiel bei authentifiziertem Benutzer:

    Copy
    Full screen
    Small screen

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
      "login_url": "<redirect_uri>?code=<code>"
    }

    So rufen Sie einen JWT ab:

    1. Ihr Client implementiert und verwendet die Anfrage, die den Benutzer an den empfangenen redirect_uri weiterleitet.
    2. Ihr Server sendet die Anfrage Generate JWT samt empfangenem code und grant_type=authorization_code, um einen JWT abzurufen.

    Antwortbeispiel bei nicht authentifiziertem Benutzer:

    Copy
    Full screen
    Small screen

    HTTP/1.1 401 Unauthorized
    Content-Type: application/json
    
    {
      "error": {
        "code": "003-040",
        "description": "User is unauthorized."
      }
    }

    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!