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:
- ein Spielkonto auf verschiedenen Plattformen zu besitzen
- Abrufen der Social-Media-Freundesliste aus einem Plattformkonto
Bei miteinander verknüpften Haupt- und Plattformkonto:
- Benutzer authentifiziert sich auf einer Plattform.
- Der Xsolla Login-Server sendet ein Hauptkontotoken an den Benutzer.
- 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:- Der Spieler startet das Spiel auf der Konsolenspieleplattform zum ersten Mal.
- Im Spiel wird eine Nachricht angezeigt. Darin wird angeboten, das Plattformkonto mit dem Hauptkonto zu verknüpfen.
- Der Benutzer startet die Anwendung und authentifiziert sich im Hauptkonto.
- Die Anwendung sendet die Anfrage
Create code for linking accounts an den Xsolla Login-Server. - In der Anwendung wird ein Code für das Verknüpfen der Konten angezeigt.
- Der Benutzer wechselt zur Konsolenversion des Spiels und gibt den Code ein.
- Der Spielserver sendet die Anfrage
Link accounts by code an den Xsolla Login-Server. - 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örigepublisher_project_id
in den Login-Projekteinstellungen an. Dieshadow_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-IDclient_secret
– geheimer Schlüssel des OAuth 2.0-Client
Der Algorithmus für die Integration eines plattformübergreifenden Kontos sieht wie folgt aus:
- Benutzerauthentifizierung implementieren für:
- Konten verknüpfen:
Authentifizierung von Benutzern im Hauptkonto
Das Hauptkonto wird mit einer angegebenenmain_project_id
in einem Login-Projekt erstellt. Sie können sowohl das Login-Widget als auch die 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 eineAuthentifizierung über custom ID
Nutzen Sie den Aufruf
- den Parameter
publisher_project_id
odershadow_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:
- Der Spiel-Client sendet die Authentifizierungsanfrage an einen Spielserver, wenn der Benutzer das Spiel startet.
- Der Spielserver generiert oder verwendet eine bereits vorhandene
custom ID . - 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
unduser_id
). Wenn sich der Benutzer mit einer übermittelten custom ID nicht finden lässt, wird ein neuer Benutzer angelegt. - Der Xsolla Login-Server sendet ein Token an den Spieleserver.
Anfragebeispiel:
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:
- http
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:
- Nutzen Sie den Aufruf
Create code for linking accounts . Übermitteln Sie den bei der Authentifizierung im Hauptkonto erhaltenen Benutzertoken an diesen Aufruf. - Zeigen Sie dem Benutzer den empfangene Code an.
Anfragebeispiel:
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:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": "123456"
}
Konten verknüpfen
Nutzen Sie den Aufruf code
samt dem vom Benutzer auf der Konsolenplattform eingegebenen Verknüpfungscode-Wert an diesen Aufruf.
Anfragebeispiel:
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:
- http
HTTP/1.1 204 No Content
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.