Stockage de données utilisateur personnalisé

Si vous utilisez un stockage de données utilisateur personnalisé, Xsolla Login agit en tant qu’intermédiaire et toutes les données d’identification utilisateur sont stockées de votre côté. Xsolla Login passe les données d’authentification dans le jeton inclus dans l’en-tête des webhooks ainsi que dans leur corps.

Note
Les adresses e-mail des utilisateurs, les données des médias sociaux et les attributs des utilisateurs sont stockés du côté de Xsolla. Les mots de passe ne le sont pas.
Si vous utilisez un stockage personnalisé, vous avez accès aux fonctionnalités suivantes :
Note
Si vous testez l’intégration localement, les requêtes POST Xsolla ne parviennent pas à des URL telles que http://localhost:3000/my-webhook-endpoint. Ngrok vous permet de créer un tunnel d’accès externe, vous offrant ainsi la possibilité de recevoir les requêtes Xsolla localement. Pour en savoir plus à ce sujet, consultez la documentation de ngrok.

Flux d'interaction

Note
Le scénario d’interaction dépend du protocole d’authentification que vous choisissez : JWT ou OAuth 2.0.
Note
La longueur maximale du JSON contenant des données utilisateur supplémentaires est de 1000 caractères.
Les données suivantes peuvent être ajoutées aux propriétés du profil utilisateur :

Vous pouvez également mettre à jour les attributs utilisateur en passant un tableau d’objets d’attributs utilisateur. La structure de ces objets est décrite ci-dessous.

Structure d’un objet d’attributs utilisateur :

ParamètreTypeDescription
attr_type
stringDéfinition du niveau d’accès de l’utilisateur aux attributs de service :
  • client — Attribut modifiable par l’utilisateur. Les valeurs de ce type d’attribut sont saisies par l’utilisateur ou spécifiées selon la logique du jeu côté client. Par exemple, le nom et les statistiques du personnage, le niveau de difficulté du jeu, etc. (valeur par défaut)
  • server — Attribut en lecture seule. Les valeurs de ce type d’attribut sont saisies et modifiées côté serveur de votre application. Nous vous recommandons de les utiliser pour configurer les statistiques des personnages du jeu ou les paramètres utilisateur qui ne devraient pas changer régulièrement. Par exemple, les chances d’obtenir un bonus, les paramètres clés des personnages du jeu, les catégories d’utilisateurs, etc.
key
stringNom de l’attribut utilisé pour identifier l’attribut utilisateur. Il doit être unique pour chaque utilisateur.
Longueur maximale : 256 symboles. Vous pouvez utiliser des chiffres, des lettres latines, des traits d’union et des tirets bas.
permission
string or nullLe type d’accès aux attributs utilisateur affecte la liste des attributs renvoyés par les méthodes :
Valeurs possibles : public ou private (valeur par défaut).
read_only
stringDétermine si l’attribut est protégé contre les modifications. Par défaut, la valeur est false : les modifications des valeurs des attributs sont autorisées.
value
stringValeur de l’attribut utilisateur.
Longueur maximale : 256 symboles.

Enregistrement utilisateur

Note
Le scénario d’interaction dépend du protocole d’authentification que vous choisissez : JWT ou OAuth 2.0.

Authentification par nom d'utilisateur et mot de passe

Note
Le scénario d’interaction dépend du protocole d’authentification que vous choisissez : JWT ou OAuth 2.0.

Authentification sans mot de passe par numéro de téléphone

Note
Le scénario d’interaction dépend du protocole d’authentification que vous choisissez : JWT ou OAuth 2.0.

Authentification sans mot de passe par e-mail

Note
Le scénario d’interaction dépend du protocole d’authentification que vous choisissez : JWT ou OAuth 2.0.

Authentification via les réseaux sociaux

Note
Le scénario d’interaction dépend du protocole d’authentification que vous choisissez : JWT ou OAuth 2.0.

Réinitialisation du mot de passe utilisateur

  1. Le client envoie la requête POST Reset password au serveur Xsolla Login. La requête doit inclure les paramètres obligatoires suivants :
    • Paramètre de requête projectId — ID du projet de Login dans le Compte éditeur ;
    • Paramètre de corps username — nom d’utilisateur. Longueur autorisée : 3 à 255 caractères.
  2. Le serveur Xsolla Login envoie à l’utilisateur un e-mail de confirmation de réinitialisation du mot de passe.
  3. Après avoir confirmé la réinitialisation du mot de passe via l’e-mail, l’utilisateur est redirigé vers la page de saisie du nouveau mot de passe.
  4. L’utilisateur saisit un nouveau mot de passe.
  5. Le serveur Xsolla Login envoie un webhook à l’URL de réinitialisation du mot de passe.
  6. Si la réinitialisation du mot de passe échoue, fournissez un message d’erreur qui s’affichera dans le widget d’authentification. Pour ce faire, dans la réponse à la requête de création d’utilisateur, passez l’objet error avec les informations suivantes :
    • Dans le paramètre code, spécifiez un code d’erreur, par exemple 011-002 ;
    • Dans le paramètre description, fournissez le texte du message d’erreur.

Exemple de webhook à l’URL de réinitialisation du mot de passe :

Copy
Full screen
Small screen

http

  • http
  • curl
 1POST https://your.hostname/your_reset_uri HTTP/1.1
 2Authorization: Bearer {JWT}
 3Content-Type: application/json
 4
 5{
 6  "username": "john@gmail.com",
 7  "fields": {
 8    "password": "NewPa$$word1"
 9  }
10}
1curl --request POST \
2  --url 'https://your.hostname/your_reset_uri' \
3  --header 'authorization: bearer_JWT' \
4  --header 'content-type: application/json' \
5  --data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'

Actualisation du jeton

Note
L’actualisation du jeton n’est disponible qu’avec l’utilisation du protocole d’authentification OAuth 2.0.
  1. Lorsque le jeton d’accès expire, le client envoie la requête POST Generate JWT au serveur Xsolla Login. Le corps de la requête doit inclure les paramètres suivants :
    • grant_type — type de jeton JWT ; utilisez la valeur refresh_token ;
    • client_idID client OAuth 2.0 ;
    • refresh_token — jeton d’actualisation reçu en réponse à la requête d’autorisation utilisateur.
  2. Le serveur Xsolla Login traite les données utilisateur reçues du réseau social et envoie un webhook à l’URL du jeton d’actualisation. La réponse doit respecter le format décrit dans le flux d’interaction. Dans la réponse, vous pouvez spécifier une liste d’attributs utilisateur et/ou tout objet JSON nécessaire. L’objet JSON dans la réponse est enregistré dans le champ partner_data du JWT utilisateur.
Note
Pour faire correspondre les champs JSON aux propriétés du profil utilisateur dans Xsolla et configurer la liaison des comptes par ID utilisateur sur votre serveur, suivez ces instructions.
Exemple de webhook :
Copy
Full screen
Small screen
1POST https://your.hostname/your_refrsh_token_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}

Exemple de réponse à un webhook avec des attributs utilisateur :

Copy
Full screen
Small screen
 1{
 2    "attributes": [
 3      {
 4        "attr_type": "server",
 5        "key": "company",
 6        "permission": "private",
 7        "value": "facebook-promo"
 8      },
 9      {
10        "attr_type": "server",
11        "key": "custom-id",
12        "permission": "private",
13        "value": 48582
14      }
15    ]
16}

Exemple de réponse à un webhook avec un objet JSON :

Copy
Full screen
Small screen
 1{
 2  "user": {
 3    "player_id": "12345678",
 4    "email": "user@example.com"
 5  },
 6  "user_info": {
 7    "username": "gamer123",
 8    "user_first_name": "John",
 9    "user_last_name": "Doe",
10    "gender": "male",
11    "birthday": "1990-05-15",
12    "country": "US",
13    "language": "en"
14  },
15  "subscription_status": "active",
16  "loyalty_level": "gold"
17
18}
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.

Poursuivre la lecture

Dernière mise à jour: 29 Août 2025

Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entré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 !
Impossible d'envoyer votre commentaire
Réessayez plus tard ou contactez-nous à doc_feedback@xsolla.com.