Authentifizierung über Deep-Links einrichten
Deep Links ermöglichen es dem Nutzer, sich mit einem Klick über das Spiel im Web Shop zu authentifizieren, anstatt den Authentifizierungsprozess mittels Benutzer-ID oder Xsolla Login zu durchlaufen.
Ist das Spiel auf dem Mobilgerät des Nutzers installiert, wird dieser über einen Deep Link zum Spiel weitergeleitet und ein Autorisierungstoken abgerufen.
Ablauf für den Nutzer
In der mobilen App
- Ein nicht autorisierter Nutzer klickt im Web Shop auf die Anmelden- oder Kaufen-Schaltfläche. Daraufhin öffnet sich ein Modalfenster zur Eingabe der Benutzer-ID oder zur Anmeldung beim Handyspiel.
- Der Nutzer klickt auf die Anmelden-Schaltfläche.
- Der Nutzer wird erst zum Spiel und dann automatisch als autorisierter Nutzer zum Web Shop weitergeleitet.
In der Desktop-Version
- Ein nicht autorisierter Nutzer klickt im Web Shop auf die Anmelden- oder Kaufen-Schaltfläche. Daraufhin öffnet sich ein Modalfenster zur Eingabe der Benutzer-ID oder zur Anmeldung bei der mobilen Version des Spiels per QR-Code.
- Der Nutzer scannt den QR-Code mit seinem Mobilgerät, daraufhin öffnet sich der Web Shop auf seinem Mobilgerät.
- Die mobile Version des Spiels öffnet sich auf dem Mobilgerät des Nutzers.
- Der Nutzer wird automatisch auf dem Mobilgerät als autorisierter Nutzer zum Web Shop weitergeleitet.
Interaktionsablauf
Einrichtung
Aufseiten des Spiels
- Registrieren Sie in den Einstellungen Ihrer Spiele-App ein URL-Schema, um das Spiel über einen Deep Link zu öffnen:
- in Android-Anwendungen – in der Datei
AndroidManifest.xml
- in iOS-Anwendungen – in der Datei
Info.plist
- in Android-Anwendungen – in der Datei
gamename://authorize
, wobei:gamename
der Name Ihres Spiels ist, das sich zum Zweck der Benutzerauthentifizierung auf einem Mobilgerät öffnen soll,authorize
der Name einer beispielhaften Aktion ist, die nach dem Öffnen des Spiels “gamename” ausgeführt werden soll. Der Aktionsname muss mit dem Namen der entsprechenden Aktionen im Betriebssystem Ihrer Anwendung übereinstimmen.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>gamename</string>
</array>
</dict>
</array>
Registrierung eines URL-Schemas in Android-Anwendungen (Beispiel):
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="gamename" android:host="authorize" />
</intent-filter>
- Implementieren Sie, dass ein Autorisierungstoken im JWT-Format mithilfe der spielpezifischen Benutzer-ID generiert wird.
Parameter | Typ | Beschreibung |
---|---|---|
loginId | string | ID der Autorisierungsmethode aus dem Kundenportal. Erforderlich. |
webhookUrl | string | RL für den Empfang des Webhooks Benutzervalidierung im Web Shop. Die URL sollte mit der Adresse übereinstimmen, die bei der Einrichtung der Authentifizierung über Benutzer-ID angegeben wurde. Xsolla erwartet als Antwort auf den Webhook den HTTP-Statuscode 200 , um den Web-Shop-Nutzer zu autorisieren. Erhält Xsolla eine Antwort mit dem HTTP-Statuscode 404 erhält oder gar keine Antwort, wird der Nutzer nicht autorisiert.Sie können den Wert "webhookUrl": "https://nowebhook.com" angeben, wenn Sie Webhooks bei der Authentifizierung über Deep Links deaktivieren möchten. In diesem Fall prüft Xsolla nicht, ob der Nutzer existiert. Stellen Sie also sicher, dass Sie im Parameter user.id eine im Spiel existierende Benutzer-ID übermitteln.Erforderlich.URL für den Empfang des Webhooks Benutzervalidierung im Web Shop. Die URL sollte mit der Adresse übereinstimmen, die bei der Einrichtung der Authentifizierung über Benutzer-ID angegeben wurde. Xsolla erwartet als Antwort auf den Webhook den HTTP-Statuscode 200 , um den Web-Shop-Nutzer zu autorisieren. Erhält Xsolla eine Antwort mit dem HTTP-Statuscode 404 erhält oder gar keine Antwort, wird der Nutzer nicht autorisiert.Sie können den Wert “webhookUrl”: “https://nowebhook.com” angeben, wenn Sie Webhooks bei der Authentifizierung über Deep Links deaktivieren möchten. In diesem Fall prüft Xsolla nicht, ob der Nutzer existiert. Stellen Sie also sicher, dass Sie im Parameter user.id eine im Spiel existierende Benutzer-ID übermitteln.Erforderlich. |
settings.projectId | string | Projekt-ID. Diese wird im Kundenportal neben dem Namen des Projekts in der Adresszeile des Browsers angezeigt. Die URL weist das folgende Format auf: https://publisher.xsolla.com/merchant ID/Publisher Account section . Erforderlich. |
user.id | string | Benutzer-ID im Spiel. Erforderlich. |
user.name | string | Benutzername. Erforderlich. |
Aufruf der API-Methode mittels curl für die Generierung des Benutzertokens (Beispiel):
- curl
curl --location 'https://sb-user-id-service.xsolla.com/api/v1/user-id' \
--header 'Content-Type: application/json' \
--data '{
"loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
"webhookUrl": "https://nowebhook.com",
"settings": {
"projectId": 123456,
"merchantId": 123456
},
"user": {
"id": "123",
"name": "a-user-name"
}
}'
Die Antwort sieht in etwa wie folgt aus: {token=“JWT_TOKEN”}
.
- Fügen Sie ein Pop-up-Fenster mit einer Benachrichtigung über die erfolgreiche Autorisierung hinzu (optional).
- Implementieren Sie, dass der Web Shop im Browser unter Verwendung des abgerufenen Benutzertokens geöffnet wird.
Erstellen einer URL für das Öffnen des Web Shops im Browser für einen autorisierten Nutzer (Beispiel):
https://example.com/?token={token}
, wenn Sie eine eigene Domain verwenden,https://example.xsollasitebuilder.com/?token={token}
, wenn Sie eine Xsolla-Domain verwenden,
{token}
der Autorisierungstoken des Nutzers ist.Innerhalb von Site Builder
Sie können die Einstellungen auf der Website im Site Builder selbst vornehmen, indem Sie die unten aufgeführten Codebeispiele verwenden.Wenn Sie Hilfe bei der Einrichtung benötigen, wenden Sie sich an Ihren Customer Success Manager oder senden Sie eine E-Mail an csm@xsolla.com.
- Öffnen Sie das Projekt im Kundenportal.
- Klicken Sie in der Seitenleiste auf Site Builder.
- Klicken Sie bei der gewünschten Web-Shop-Seite, für die eine Authentifizierung über Benutzer-ID eingerichtet ist, auf Konfigurieren.
- Wechseln Sie zu den Login-Einstellungen, und wählen Sie Benutzer-ID.
- Stellen Sie den Schalter Deep-Link-Autorisierung auf Ein.
- Geben Sie im Feld Deep-Link-URL den Link für die Benutzerauthentifizierung ein.
- Wenn Sie einen Fast Login-Block auf der Website platziert haben:
- wechseln Sie zum Fast Login-Block.
- Stellen Sie im Abschnitt Layout den Schalter QR-Code auf Ein.
- Klicken Sie auf Vorschau, um die Authentifizierung zu überprüfen.
- Klicken Sie auf Veröffentlichen, um die Website zu veröffentlichen.
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.