Login / Plattformübergreifendes Konto
  Alle Dokumentation

Login

Plattformübergreifendes Konto

So funktioniert's

Begriffserläuterung

Sie haben im Kundenportal Zugriff auf folgende Login-Projekttypen:

  • Das Standard-Login-Projekt dient der Speicherung von Hauptkonten.
  • Das Schatten-Login-Projekt dient der Speicherung von Plattformkonten.

Ein Hauptkonto ist ein in einem Standard-Login-Projekt erstellter Kontotyp und wird mit Plattformkonten verknüpft. Das Hauptkonto wird verwendet, um Spieler auf verschiedenen Plattformen zu identifizieren.

Ein Plattformkonto ist ein in einem Schatten-Login-Projekt erstellter Kontotyp und wird mit einer bestimmten Publishing-Plattform verknüpft. Das Plattformkonto lässt sich mit keinem weiteren Plattformkonto verknüpfen. Zudem können Sie die Verknüpfung zwischen den Konten und einem Hauptkonto nicht aufheben.

Eine Publishing-Plattform ist eine Plattform zur Distribution von Spielen (z. B. Steam, PlayStation, Xbox usw.).

Ein plattformübergreifendes Konto ist ein Konto mit Haupt- und Plattformkontoverknüpfung.

Für jedes Benutzerkonto mit Spielen auf einer bestimmten Plattform sollte ein entsprechendes Plattformkonto in einem Schatten-Login-Projekt existieren. Wenn ein Benutzer beispielsweise jeweils ein Spielkonto auf der Xbox- und der PlayStation-Plattform besitzt, sollten die Plattformkonten des Schatten-Login-Projekts mit den entsprechenden Xbox- bzw. PlayStation-Plattformkonto verknüpft sein.

Nutzung von plattformübergreifenden Konten

Das plattformübergreifende Konto ermöglicht Ihnen Folgendes:

Bei miteinander verknüpften Haupt- und Plattformkonto:

  1. Benutzer authentifiziert sich auf einer Plattform.
  2. Der Xsolla Login-Server sendet ein Hauptkontotoken an den Benutzer.
  3. Der Xsolla Login-Server authentifiziert den Benutzer des Hauptkontos.

Bei Nutzung des plattformübergreifenden Kontos entspricht die Benutzer-ID in einem Token der ID des Hauptkontos. Die Benutzer-ID finden Sie unter JWT > sub-Anspruch.

Ablauf beim Verknüpfen von Konten

Wenn der Benutzer über ein Hauptkonto verfügt, kann er es bei der Authentifizierung auf einer Plattform mit einem Plattformkonto verknüpfen. Der Ablauf sieht wie folgt aus:
  1. Der Spieler startet das Spiel auf der Konsolenspieleplattform zum ersten Mal.
  2. Im Spiel wird eine Nachricht angezeigt. Darin wird angeboten, das Plattformkonto mit dem Hauptkonto zu verknüpfen.
  3. Der Benutzer startet die Anwendung und authentifiziert sich im Hauptkonto.
  4. Die Anwendung sendet die Anfrage Create code for linking accounts an den Xsolla Login-Server.
  5. In der Anwendung wird ein Code für das Verknüpfen der Konten angezeigt.
  6. Der Benutzer wechselt zur Konsolenversion des Spiels und gibt den Code ein.
  7. Der Spielserver sendet die Anfrage Link accounts by code an den Xsolla Login-Server.
  8. Die Spielkonsole zeigt eine Bestätigungsnachricht an.

Für wen ist es

Partner, die Login bereits integriert haben und ein Konto bei einer Publishing-Plattform besitzen.

Wie komme ich dazu

Für die Integration eines plattformübergreifendes Konto benötigen Sie folgende Parameter aus dem Kundenportal:

  • main_project_id – ID eines Standard-Login-Projekts im UUID-Format. Zum Beispiel: f6c5011a-715e-4e5e-b7b1-a4812d85b8c8.
  • shadow_project_id – ID eines Schatten-Login-Projekts im UUID-Format. Diese Projekt wird als Schatten-Login-Projekt verwendet. Erstellen Sie ein Schatten-Login-Projekt, und geben Sie die zugehörige publisher_project_id in den Login-Projekteinstellungen an. Die shadow_project_id entspricht der ID des erstellten Projekts.
  • publisher_project_id – ID eines Projekts. Der Parameter wird unter Projekteinstellungen > Allgemeine Einstellungen > Projekt-ID angezeigt.

Senden Sie die Parameter shadow_project_id und publisher_project_id an Ihren Customer Success Manager, um die folgenden OAuth 2.0-Client-Parameter abzurufen:

  • client_id – OAuth 2.0-Client-ID
  • client_secret – geheimer Schlüssel des OAuth 2.0-Client
Sie können die obigen Parameter nutzen, um einen Servertoken abzurufen.

Der Algorithmus für die Integration eines plattformübergreifenden Kontos sieht wie folgt aus:

  1. Benutzerauthentifizierung implementieren für:
    1. Hauptkonto
    2. Plattformkonto
  2. Konten verknüpfen:
    1. Code für das Verknüpfen abrufen
    2. Konten verknüpfen

Authentifizierung von Benutzern im Hauptkonto

Das Hauptkonto wird mit einer angegebenen main_project_id in einem Login-Projekt erstellt. Sie können sowohl das Login-Widget als auch die Login API zur Registrierung und Authentifizierung nutzen.

Authentifizierung von Benutzern im Plattformkonto

Wählen Sie zur Benutzerregistrierung und -authentifizierung über eine Plattform die Methode und folgen Sie den Anweisungen. Diese Methoden lassen sich kombinieren. Zum Beispiel können Sie die stille Authentifizierung für die Xbox-Plattform und die Authentifizierung über eine custom ID für eine andere Plattform verwenden.

Authentifizierung über custom ID

Nutzen Sie den Aufruf Auth by custom ID auf dem Spielserver, um ein Plattformkonto zu erstellen. Übermitteln Sie die folgenden Daten an diesen Aufruf:

  • den Parameter publisher_project_id oder shadow_project_id (andernfalls antwortet der Xsolla Login-Server mit einem Fehler)
  • einen Servertoken
  • Benutzerdaten des Plattformkontos im Parameter social_profile

Bei Nutzung dieses Authentifizierungsaufrufs können Sie die Liste der Freunde des Benutzers von verschiedenen Plattformen nicht abrufen. Die Liste der für die Authentifizierung verfügbaren Plattformen ist nicht beschränkt.

Authentifizierungsablauf:

  1. Der Spiel-Client sendet die Authentifizierungsanfrage an einen Spielserver, wenn der Benutzer das Spiel startet.
  2. Der Spielserver generiert oder verwendet eine bereits vorhandene custom ID.
  3. Der Spielserver sendet die Anfrage Auth by custom ID an den Xsolla Login-Server unter Angabe der Plattform und der darauf befindlichen Benutzerkennung (Parameter: platform und user_id). Wenn sich der Benutzer mit einer übermittelten custom ID nicht finden lässt, wird ein neuer Benutzer angelegt.
  4. Der Xsolla Login-Server sendet ein Token an den Spieleserver.

Anfragebeispiel:

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=<publisher_project_id> HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json

{
  "server_custom_id": "secret_value",
  "social_profile": {
    "platform": "xbox",
    "user_id": "123"
  }
}
curl --request POST \
  --url 'https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=publisher_project_id' \
  --header 'content-type: application/json' \
  --header 'x-server-authorization: server_token' \
  --data '{"server_custom_id":"secret_value","social_profile":{"platform":"xbox","user_id":"123"}}'

Antwortbeispiel:

Copy
Full screen
Small screen
HTTP/1.1 200 OK
Content-Type: application/json

{
  "token": "<platform_user_token>"
}

Stille Authentifizierung

Um die stille Authentifizierung einzurichten, erstellen Sie ein Schatten-Login-Projekt und folgen Sie den Anweisungen. Nutzen Sie die Methoden der stillen Authentifizierung auf dem Spielserver, um ein Plattformkonto zu erstellen.

Verknüpfungscode abrufen

So rufen Sie einen Verknüpfungscode ab:

  1. Nutzen Sie den Aufruf Create code for linking accounts. Übermitteln Sie den bei der Authentifizierung im Hauptkonto erhaltenen Benutzertoken an diesen Aufruf.
  2. Zeigen Sie dem Benutzer den empfangene Code an.

Anfragebeispiel:

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/users/account/code HTTP/1.1
Authorization: Bearer <main_user_token>
curl --request POST \
  --url https://login.xsolla.com/api/users/account/code \
  --header 'authorization: main_user_token'

Antwortbeispiel:

Copy
Full screen
Small screen
HTTP/1.1 200 OK
Content-Type: application/json

{
  "code": "123456"
}

Konten verknüpfen

Nutzen Sie den Aufruf Link accounts by code, um ein Plattformkonto mit einem Hauptkonto zu verknüpfen. Übermitteln Sie den Parameter code samt dem vom Benutzer auf der Konsolenplattform eingegebenen Verknüpfungscode-Wert an diesen Aufruf.

Anfragebeispiel:

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/users/account/link HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json

{
  "code": "123456",
  "platform": "xbox",
  "user_id": "123",
  "publisher_project_id": 44056
}
curl --request POST \
  --url https://login.xsolla.com/api/users/account/link \
  --header 'content-type: application/json' \
  --header 'x-server-authorization: server_token' \
  --data '{"code":"123456","platform":"xbox","publisher_project_id":44056,"user_id":"123"}'

Antwortbeispiel:

Copy
Full screen
Small screen
HTTP/1.1 204 No Content
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: 22. Januar 2024

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!