Configuration de l’authentification par lien profond
Les liens profonds permettent à l’utilisateur de s’authentifier dans le Web Shop via le jeu en un seul clic, contournant ainsi le processus d’authentification par ID utilisateur ou via Xsolla Login.
Si le jeu est déjà installé sur l’appareil mobile de l’utilisateur, il sera automatiquement redirigé vers le jeu via un lien profond pour obtenir un jeton d’autorisation.
Flux utilisateur
Dans l'application mobile
- Un utilisateur non autorisé du Web Shop clique sur le bouton de connexion ou sur le bouton d'achat. Une fenêtre modale permettant de saisir l'ID utilisateur ou de se connecter via le jeu mobile s'affiche.
- L'utilisateur clique sur le bouton de connexion via le jeu.
- L'utilisateur est redirigé vers le jeu où, il est automatiquement redirigé vers le Web Shop en tant qu'utilisateur autorisé.
Dans la version de bureau
- Un utilisateur non autorisé du Web Shop clique sur le bouton de connexion ou sur le bouton d'achat. Une fenêtre modale permettant de saisir l'ID utilisateur ou de se connecter à la version mobile du jeu à l'aide d'un code QR s'affiche.
- L'utilisateur scanne le code QR à l'aide de son appareil mobile, après quoi le Web Shop s'ouvre sur celui-ci.
- La version mobile du jeu s'ouvre sur l'appareil de l'utilisateur.
- L'utilisateur est automatiquement redirigé vers le Web Shop sur son appareil mobile en tant qu'utilisateur autorisé.
Flux d'interaction des services
Comment configurer
Côté jeu
- Dans les paramètres de l'application mobile de votre jeu, enregistrez un schéma d'URL pour ouvrir le jeu via un lien profond :
- dans les applications Android — dans le fichier
AndroidManifest.xml
; - dans les applications iOS — dans le fichier
Info.plist
.
- dans les applications Android — dans le fichier
gamename://authorize
, où :gamename
— nom de votre jeu qui doit s’ouvrir sur un appareil mobile pour l’authentification de l’utilisateur ;authorize
— exemple de nom d’action à effectuer après l’ouverture du jeu gamename. Utilisez le nom d’action qui correspond aux actions du système d’exploitation de votre application.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>gamename</string>
</array>
</dict>
</array>
Exemple d’enregistrement d’un schéma d’URL dans les applications Android :
<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>
- Implémentez la génération d'un jeton d'autorisation au format JWT en utilisant l'ID utilisateur dans le jeu.
Paramètre | Type | Description |
---|---|---|
loginId | string | ID de la méthode d’autorisation du Compte éditeur. Obligatoire. |
webhookUrl | string | URL pour recevoir le webhook Validation utilisateur dans le Web Shop. L’URL doit correspondre à l’adresse spécifiée lors de la configuration de l’authentification par ID utilisateur. Xsolla attend un code HTTP 200 en réponse au webhook pour autoriser l’utilisateur du Web Shop. En cas de réception d’une réponse avec un code HTTP 404 ou d’absence de réponse, l’utilisateur ne sera pas autorisé.Pour désactiver les webhooks lors de l’authentification par lien profond, spécifiez la valeur "webhookUrl": "https://nowebhook.com" . Dans ce cas, Xsolla ne vérifie pas l’existence de l’utilisateur, assurez-vous donc que dans le paramètre user.id vous passez l’ID d’un utilisateur qui existe dans le jeu.Obligatoire. |
settings.projectId | string | L’ID du projet se trouve dans le Compte éditeur, à côté du nom de votre projet ou dans la barre d’adresse du navigateur. L’URL présente le format suivant : https://publisher.xsolla.com/merchant ID/Publisher Account section . Obligatoire. |
user.id | string | ID utilisateur dans le jeu. Obligatoire. |
user.name | string | Nom d’utilisateur. Obligatoire. |
Exemple d’appel à la méthode API de génération de jeton utilisateur à l’aide de curl :
- 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"
}
}'
Vous obtiendrez une réponse du type {token=“JWT_TOKEN”}
.
- Ajoutez une fenêtre contextuelle avec une notification d'autorisation réussie (facultatif).
- Implémentez l'ouverture du Web Shop dans le navigateur à l'aide du jeton utilisateur obtenu.
Exemple de création d’une URL pour ouvrir le Web Shop dans le navigateur d’un utilisateur autorisé :
https://example.com/?token={token}
, si vous utilisez un domaine personnaliséhttps://example.xsollasitebuilder.com/?token={token}
, si vous utilisez un domaine Xsolla
{token}
est le jeton d’autorisation de l’utilisateur.Dans Site Builder
Vous pouvez effectuer vous-même les réglages du côté du Site Builder en utilisant les exemples de code fournis ci-dessous.Pour obtenir de l’aide pour la configuration, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
- Ouvrez le projet dans le Compte éditeur.
- Dans le menu latéral, cliquez sur Site Builder.
- Cliquez sur Configure sur la carte du site de votre Web Shop avec authentification par ID utilisateur.
- Accédez à Login Settings et sélectionnez la section User ID.
- Réglez la bascule Deeplink authorization sur On.
- Dans le champ Deeplink URL, entrez le lien pour l’authentification utilisateur.
- Si vous utilisez le bloc Fast Login sur votre site :
- Accédez au bloc Fast Login ;
- Dans la section Layout, réglez la bascule QR code sur On.
- Pour vérifier l’authentification, cliquez sur Preview.
- Pour publier le site Web, cliquez sur Publish.
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.