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                                                  TypeObligatoireDescription
expUnix TimestampOuiDate 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.
issstringOuiService qui a signé le jeton : https://login.xsolla.com.
iatUnix TimestampOuiDate et heure de la remise du jeton.
substring (UUID)OuiID utilisateur écrit sur le serveur Xsolla Login.
groupsarrayOuiLa liste des groupes auxquels appartient l’utilisateur. Chaque groupe est écrit dans le format suivant :
  • id — ID du groupe ;
  • name — nom du groupe ;
  • is_default — indique si le groupe est le groupe par défaut ou non (true ou false).
Il ne peut y avoir qu’un seul groupe par défaut. Ce groupe comprend initialement tous les utilisateurs avant qu’ils ne soient répartis dans différents groupes.
xsolla_login_project_idstring (UUID)OuiID de projet de connexion.
usernamestringNom d’utilisateur.
publisher_idintegerID d’un commerçant qui possède un projet de connexion.
emailstringAdresse e-mail utilisateur.
payloadstringInformations supplémentaires passées dans le paramètre payload lors de l’authentification.
promo_email_agreementbooleanConsentement à recevoir une newsletter. Valeurs possibles :
  • true si l’utilisateur accepte de recevoir une newsletter ;
  • false dans le cas contraire.
La valeur par défaut est true.
Pour ajouter la fonctionnalité au formulaire d’inscription du widget Login :
  • Contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com si vous utilisez le Widget 2.0 ;
  • Ajoutez le paramètre fields avec la valeur promo_email_agreement au code d’initialisation si vous utilisez la version précédente du widget.
connection_informationstringIndique 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                                                  TypeObligatoireDescription
providerstringOuiNom 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.
idstringOuiID utilisateur dans le réseau social.
is_cross_authbooleanIndique que la requête d’authentification silencieuse est en cours.
social_access_tokenstringParamè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é.
picturestring (URL)Lien vers la photo de profil de l’utilisateur dans le réseau social.
birthdaydate (RFC 3339)Date de naissance de l’utilisateur dans le réseau social.
genderstringGenre de l’utilisateur dans le réseau social.
namestringPseudo de l’utilisateur dans le réseau social.

Flux utilisateur

  1. L'utilisateur se connecte à Launcher.
  2. Launcher reçoit le jeton d'autorisation avec les informations de l'utilisateur du serveur Xsolla Login.
  3. L'utilisateur démarre le jeu à partir de Launcher.
  4. 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 :

Copy
Full screen
Small screen
    game.exe --xsolla-login-token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InAudHVnb2x1a292QHhzb2xsYS5jb20iLCJleHAiOjE1ODU1MDYxMTMsImdyb3VwcyI6W10sImlhdCI6MTU4NDY0MjExMywiaXNzIjoiaHR0cHM6Ly9sb2dpbi54c29sbGEuY29tIiwicGFydG5lcl9kYXRhIjp7ImFkbWluIjp0cnVlfSwicGF5bG9hZCI6IiIsInByb21vX2VtYWlsX2FncmVlbWVudCI6dHJ1ZSwicHJvdmlkZXIiOiJ4c29sbGEiLCJyZWRpcmVjdF91cmwiOiIiLCJzdWIiOiIyNmYxNzI5Ni00Nzk5LTExZTgtOTBkMC00MjAxMGE4YTAwMTkiLCJ0eXBlIjoic29jaWFsIiwidXNlcm5hbWUiOiJzb21lX3VzZXJAbWFpbC5jb20iLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6Ikk2QTJrTEZPQ2JkcnUzamIxMjNyT3JmWnNkTnFpdVcxMjNpWTdKcW85OHI5b0hPbyIsInhzb2xsYV9sb2dpbl9wcm9qZWN0X2lkIjoiNDBkYjJlYTQtNWQ0Mi0xMWU2LWEzZmYtMDA1NDU2YTBlMTRhIn0.ZsTNiwY2iPp7HKqHs5g6JXzL2kv_RVuMNBlF-Tn2ccE --xsolla-locale en
    
    1. 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

    1. Implémentez la récupération des données utilisateur :
    2. Implémentez le traitement des paramètres pour le jeu afin d'authentifier automatiquement les utilisateurs.
    3. 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.
    4. 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

    1. Ouvrez votre projet dans le Compte éditeur et accédez à la section Login.
    2. Dans le panneau du projet de connexion, cliquez sur Configure.
    3. Accédez au bloc Security et sélectionnez la section JWT signature.
    4. Copiez la valeur du champ Secret key.
    5. Choisissez la bibliothèque et connectez-la côté serveur de votre application.
    6. Passez la valeur copiée à l'étape 4 à la fonction de décodage.
    Avis
    Ne révélez votre clé secrète à personne. Si elle a été compromise, mettez-la à jour.

    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 :

    1. Ouvrez votre projet dans le Compte éditeur et accédez à la section Login.
    2. Cliquez sur Configure dans le volet du projet de connexion.
    3. Dans le bloc supérieur des paramètres, cliquez sur Callback URLs.
    4. Dans le champ Callback URL, entrez l’adresse URL vers laquelle l’utilisateur est redirigé après l’enregistrement.
    5. 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.
    6. Pour obtenir des informations permettant de remplir le compte, utilisez la méthode Login API.

    Exemple :

    Copy
    Full screen
    Small screen
      https://<callbackUrl>?is_new=1&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWR
      

      Langue de l'interface utilisateur

      ExampleValueMeaning
      –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ă”
      Cet article vous a été utile ?
      Merci !
      Que pouvons-nous améliorer ? Message
      Nous sommes désolés de l'apprendre
      Dites-nous pourquoi vous n'avez pas trouvé cet article utile. Message
      Merci pour votre commentaire !
      Nous examinerons votre message et l'utiliserons pour améliorer votre expérience.
      Dernière mise à jour: 23 Septembre 2024

      Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.

      Signaler un problème
      Nous améliorons continuellement notre contenu grâce à vos commentaires.
      Indiquez votre adresse e-mail pour un suivi
      Merci pour votre commentaire !