Authentification de l’utilisateur dans le jeu
Comment ça marche
Launcher envoie les données des utilisateurs authentifiés via l’application de bureau au jeu dans le paramètre –xsolla-login-token
au format JWT. Utilisez ce paramètre pour configurer l’authentification automatique des utilisateurs dans le jeu.
Principales revendications JWT
Un jeton contient les principales revendications après l’authentification ou la confirmation de l’adresse e-mail. La présence de ces revendications ne dépend pas de la base de données utilisateur ni de l’appel d’authentification.
Revendication | Type | Obligatoire | Description |
---|---|---|---|
exp | Unix Timestamp | Oui | Date et heure d’expiration du jeton. Le délai d’expiration par défaut est de 24 heures. Vous pouvez modifier le délai d’expiration pour chaque projet de connexion. |
iss | string | Oui | Service qui a signé le jeton : https://login.xsolla.com . |
iat | Unix Timestamp | Oui | Date et heure de la remise du jeton. |
sub | string (UUID) | Oui | ID utilisateur écrit sur le serveur Xsolla Login. |
groups | array | Oui | La liste des groupes auxquels appartient l’utilisateur. Chaque groupe est écrit dans le format suivant :
|
xsolla_login_project_id | string (UUID) | Oui | ID de projet de connexion. |
username | string | Nom d’utilisateur. | |
publisher_id | integer | ID d’un commerçant qui possède un projet de connexion. | |
email | string | Adresse e-mail utilisateur. | |
payload | string | Informations supplémentaires passées dans le paramètre payload lors de l’authentification. | |
promo_email_agreement | boolean | Consentement à recevoir une newsletter. Valeurs possibles :
true .Pour ajouter la fonctionnalité au formulaire d’inscription du widget Login :
| |
connection_information | string | Indique si l’utilisateur a confirmé ou non sa date de naissance. La confirmation se fait via le service okname. |
Authentification via les réseaux sociaux
Revendications contenues dans le jeton après l’authentification via un réseau social. La présence de ces revendications ne dépend pas de la base de données utilisateur.
Revendication | Type | Obligatoire | Description |
---|---|---|---|
provider | string | Oui | Nom du réseau social utilisé pour l’authentification. Valeurs possibles : amazon , apple , baidu , battlenet , discord , facebook , github , google , kakao , linkedin , mailru , microsoft , msn , naver , ok , paypal , psn , qq , reddit , steam , twitch , twitter , vimeo , vk , wechat , weibo , yahoo , yandex , youtube , xbox . |
id | string | Oui | ID utilisateur dans le réseau social. |
is_cross_auth | boolean | Indique que la requête d’authentification silencieuse est en cours. | |
social_access_token | string | Paramètre access_token du compte de réseau social utilisé pour l’authentification. Contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com pour configurer cette fonctionnalité. | |
picture | string (URL) | Lien vers la photo de profil de l’utilisateur dans le réseau social. | |
birthday | date (RFC 3339) | Date de naissance de l’utilisateur dans le réseau social. | |
gender | string | Genre de l’utilisateur dans le réseau social. | |
name | string | Pseudo de l’utilisateur dans le réseau social. |
Flux utilisateur
- L'utilisateur se connecte à Launcher.
- Launcher reçoit le jeton d'autorisation avec les informations de l'utilisateur du serveur Xsolla Login.
- L'utilisateur démarre le jeu à partir de Launcher.
- Lors du lancement du jeu, Launcher passe les arguments suivants au client du jeu :
--xsolla-login-token <token>
— le jeton d'autorisation obtenu à partir du serveur Xsolla Login ;--xsolla-locale <locale>
— langue de l'interface utilisateur.
Exemple :
game.exe --xsolla-login-token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InAudHVnb2x1a292QHhzb2xsYS5jb20iLCJleHAiOjE1ODU1MDYxMTMsImdyb3VwcyI6W10sImlhdCI6MTU4NDY0MjExMywiaXNzIjoiaHR0cHM6Ly9sb2dpbi54c29sbGEuY29tIiwicGFydG5lcl9kYXRhIjp7ImFkbWluIjp0cnVlfSwicGF5bG9hZCI6IiIsInByb21vX2VtYWlsX2FncmVlbWVudCI6dHJ1ZSwicHJvdmlkZXIiOiJ4c29sbGEiLCJyZWRpcmVjdF91cmwiOiIiLCJzdWIiOiIyNmYxNzI5Ni00Nzk5LTExZTgtOTBkMC00MjAxMGE4YTAwMTkiLCJ0eXBlIjoic29jaWFsIiwidXNlcm5hbWUiOiJzb21lX3VzZXJAbWFpbC5jb20iLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6Ikk2QTJrTEZPQ2JkcnUzamIxMjNyT3JmWnNkTnFpdVcxMjNpWTdKcW85OHI5b0hPbyIsInhzb2xsYV9sb2dpbl9wcm9qZWN0X2lkIjoiNDBkYjJlYTQtNWQ0Mi0xMWU2LWEzZmYtMDA1NDU2YTBlMTRhIn0.ZsTNiwY2iPp7HKqHs5g6JXzL2kv_RVuMNBlF-Tn2ccE --xsolla-locale en
- Le client du jeu envoie le jeton utilisateur obtenu au serveur du jeu pour récupérer les données utilisateur de l'une des manières suivantes :
Comment configurer
- Implémentez la récupération des données utilisateur :
- Implémentez le traitement des paramètres pour le jeu afin d'authentifier automatiquement les utilisateurs.
- Implémentez la sélection de la langue de l'interface sur la base de la langue obtenue dans l'argument
--xsolla-locale <locale>
sur le client du jeu. - Implémentez le suivi des nouveaux utilisateurs et la création de leurs comptes sur le serveur de jeu.
Décodage JWT sur le serveur de jeu
- Ouvrez votre projet dans le Compte éditeur et accédez à la section Login.
- Dans le panneau du projet de connexion, cliquez sur Configure.
- Accédez au bloc Security et sélectionnez la section JWT signature.
- Copiez la valeur du champ Secret key.
- Choisissez la bibliothèque et connectez-la côté serveur de votre application.
- Passez la valeur copiée à l'étape 4 à la fonction de décodage.
Récupération des données utilisateur via Login API
Appelez la méthode Login API Get user details pour récupérer les données utilisateur.
Enregistrement utilisateur
Pour suivre l’enregistrement de nouveaux utilisateurs :
- Ouvrez votre projet dans le Compte éditeur et accédez à la section Login.
- Cliquez sur Configure dans le volet du projet de connexion.
- Dans le bloc supérieur des paramètres, cliquez sur Callback URLs.
- Dans le champ Callback URL, entrez l’adresse URL vers laquelle l’utilisateur est redirigé après l’enregistrement.
- Configurez la création d’un nouveau compte dans le jeu. Après l’enregistrement, l’utilisateur sera redirigé vers l’URL spécifiée dans le champ Callback URL avec le paramètre
is_new=1
. - Pour obtenir des informations permettant de remplir le compte, utilisez la méthode Login API.
Exemple :
https://<callbackUrl>?is_new=1&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWR
Langue de l'interface utilisateur
Example | Value | Meaning |
---|---|---|
–xsolla-locale en | “en”“ru”“cn”“tw”“fr”“de”“it”“pt”“es”“pl”“cs”“ko”“ar”“bg”“he”“ja”“tr”“th”“vi”“ro” | “English”“Русский”“简体中文”“中国传统的”“Français”“Deutsch”“Italiano”“Português”“Español”“Polski”“Čeština”“한국어”“العربية”“Български”“עברית”“日本語”“Türkçe”“ไทย”“Tiếng Việt”“Română” |
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.