OAuth 2.0-Protokoll
Überblick
Xsolla-Login unterstützt das OAuth 2.0-Standardprotokoll für die Benutzerregistrierung und ‑authentifizierung. OAuth 2.0 trennt die Rolle des Clients von der Rolle des Ressourceneigentümers. Die Ressourcen werden vom Eigentümer kontrolliert und auf dem Server gehostet. Damit der Client auf geschützte Ressourcen zugreifen kann, erhält er einen Zugriffstoken (ein String, der Zugriffsattribute definiert) anstatt die Anmeldedaten des Ressourceneigentümers zu nutzen. Mit Zustimmung des Ressourceneigentümers vergibt der Server Zugriffstoken an Drittanbieter-Clients zur Nutzung. Detaillierte Informationen über das OAuth 2.0-Protokoll finden Sie auf der offizieller Website. Der Benutzer-JWT ist ein access_token
.
Der Interaktionsablauf zwischen dem Client und dem Xsolla-Login-Server sieht wie folgt aus:
So richten Sie das OAuth 2.0-Protokoll ein:
- Verknüpfen Sie Login.
- Richten Sie den Xsolla-Speicher oder PlayFab ein.
- Verknüpfen Sie den OAuth 2.0-Client.
OAuth 2.0-Client verknüpfen
- Wechseln Sie zum Kundenportal, und navigieren Sie zu Ihr Login-Projekt > Allgemeine Einstellungen > Autorisierung > OAuth 2.0-Authentifizierung.
- Klicken Sie auf Verbinden.
- Geben Sie daraufhin im Modalfenster Folgendes ein:
- Client-Name.
- OAuth 2.0-URIs für die Weiterleitung. Parameter
redirect_uri
für die Login API-Aufrufe. - Authentifizierungstyp: öffentlich oder vertraulich
- erfordert der Client die Client-ID und den geheimen Schlüssel beim Aufruf von
Generate JWT für das Abrufen und Aktualisieren des Zugriffstokens. - Der öffentliche Client erfordert lediglich die Client-ID.
- Der Aufruf
JWT auth by username and password ist nur für den öffentlichen Client verfügbar.
- Klicken Sie auf Verbinden.
OAuth 2.0-Client-Einstellungen abrufen
So rufen Sie die Client-ID und den geheimen Schlüssel ab:
- Wechseln Sie zum Kundenportal, und navigieren Sie zu Ihr Login-Projekt > Allgemeine Einstellungen > Autorisierung > OAuth 2.0-Authentifizierung.
- Klicken Sie im Client- Block auf Verbinden/Bearbeiten.
Nach dem Verknüpfen des OAuth 2.0-Clients öffnet sich automatisch ein Fenster mit den Einstellungen. Die Client-ID und der geheime Schlüssel entsprechen den Parametern client_id
und client_secret
für die Login API-Aufrufe. Verwenden Sie diese Einstellungen, wenn Sie mit OAuth 2.0-Clients arbeiten.
Integration aufseiten der Anwendung
Folgende Integrationsmöglichkeiten stehen zur Auswahl:
Bei Nutzung der Login API können Sie außerdem den Parameter scope
verwenden. Mögliche Parameterwerte sind:
offline
: für das Aktualisieren des Zugriffstokens. Sie müssenscope=offline
an den Registrierungs- bzw. Authentifizierungsaufruf übermitteln.email
: für die zusätzliche Abfrage der E-Mail-Adresse des Benutzers bei dessen Authentifizierung über ein soziales Netzwerk. Legen Sie diesen Wert fest, wenn Sie Login über die vorherige Version des Login-Widgets integriert haben. Siehe Anleitung E-Mail-Adressen bei der Authentifizierung über soziale Netzwerke erfassen.
Integration über das Login-Widget
Bei Integration von Login über das Widget:
- Fügen Sie bei Nutzung von Widget 2.0 die Parameter
client_id
,response_type
,state
undredirect_uri
zum Initialisierungscode hinzu. Außerdem können Sie den Parameterscope
hinzufügen. Sie sollten das HTTP-/HTTPS-Schema im Parameterredirect_uri
festlegen, so wie inhttps://example.com
.
- html
<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>
- Fügen Sie bei Nutzung der vorherigen Widget-Version die Parameter
redirect_uri
undclient_id
zum Initialisierungscode hinzu. Außerdem können Sie den Parameterscope
hinzufügen. Sie sollten das HTTP-/HTTPS-Schema im Parameterredirect_uri
festlegen.
- html
<script type="text/javascript">
XL.init({
projectId: 'LOGIN_PROJECT_ID',
locale: 'en_US',
redirectUri: 'REDIRECT_URI',
clientId: 'CLIENT_ID',
state: 'CUSTOM_STATE',
scope: 'SCOPE'
});
</script>
Integration über die Login API
Verwenden Sie für die Benutzerregistrierung und ‑authentifizierung die API-Anfragen des OAuth 2.0-Protokoll. Wenn Sie bereits Anfragen für den JWT-Standard integriert haben, ersetzen Sie diese durch den Aufruf der OAuth 2.0-Anfragen.
Tauschen Sie beim Aufruf von API-Authentifizierungsanfragen den Parameter code
gegen einen Zugriffstoken aus.
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 und befolgen Sie die entsprechende Anleitung, um den OAuth 2.0-Client einzurichten:
Zugriffstoken abrufen
Nutzen Sie den Aufruf grant_type=authorization_code
, um den Zugriffstoken abzurufen. Der für den Abruf des Tokens erforderliche Parameter code
wird nach der Benutzerauthentifizierung bzw. ‑registrierung an redirect_uri
übermittelt.
- 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
Der Xsolla-Login-Server generiert einen Zugriffstoken und erstellt für jeden erfolgreich authentifizierten Benutzer eine neue Sitzung. Standardmäßig verfällt der Token nach einer 1 Stunde.
Nutzen Sie zum Aktualisieren des Tokens den Aufruf
- Nutzen Sie beim erstmaligen Aufruf die Parametereinstellung
grant_type=authorization_code
und den Parametercode
, den Sie nach der Benutzerauthentifizierung empfangen haben. - Nutzen Sie für nachfolgende Aufrufe nach Verfall des Tokens die Parametereinstellung
grant_type=refresh_token
und den neustenrefresh_token
-Wert.
- 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
War dieser Artikel hilfreich?
Diese Seite bewerten
Jetzt nicht
Vielen Dank für Ihr Feedback!
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.