Mappage JSON des noms de clés au profil utilisateur
Comment ça marche
Vous pouvez faire correspondre les champs de l’objet JSON que vous renvoyez en réponse aux webhooks Xsolla Login aux propriétés de profil utilisateur suivantes dans le système Xsolla :
- date de naissance (
birthday
) ; - pseudo (
nickname
) ; - prénom (
first_name
) ; - nom (
last_name
) ; - genre (
gender
) ; - ID utilisateur sur votre serveur (
server_custom_id
).
Note
Le mappage de clés n’est disponible que pour les webhooks Xsolla Login suivants :
- synchroniser les données avec Web Shop ;
- appliquer les balises de fusion Mailchimp ;
- implémenter des intégrations avec d’autres systèmes externes.
server_custom_id
dans le mappage des noms de clés, vous pouvez activer la fusion de comptes par server_custom_id
. Cette approche permet à notre système d’identifier tous les comptes ayant le même server_custom_id
comme appartenant au même utilisateur.Qui peut l'utiliser
Les partenaires qui utilisent le stockage personnalisé des données utilisateur et souhaitent exploiter ces données dans Xsolla Login.
Comment configurer
- Dans votre projet, dans le Compte éditeur, accédez à la section Login.
- Sélectionnez l'option de connexion, puis accédez à la section User database.
- Accédez à la section Storage.
- Sélectionnez Custom storage.
- Choisissez le webhook pour lequel vous souhaitez configurer le mappage des clés :
- user verification ;
- user creation ;
- social login.
- Dans le bloc Key name map, entrez les noms des champs qui doivent être mappés avec les propriétés du profil utilisateur correspondantes.
- Activez l'option Enable user account linking pour permettre à notre système d'identifier tous les comptes ayant le même
server_custom_id
comme appartenant au même utilisateur (facultatif).
Note
La liaison des comptes par
server_custom_id
est disponible uniquement si vous spécifiez une clé pour la propriété server_custom_id
dans le mappage des noms de clés.- Cliquez sur Save Changes.
Note
Il n’est pas nécessaire d’inclure tous les champs dans le mappage des clés.
Exemples d'utilisation du mappage des noms de clés
Passage des données utilisateur depuis la réponse webhook vers le JWT et les propriétés du profil utilisateur
- En réponse au webhook de vérification utilisateur, envoyez l'objet JSON suivant (il peut contenir n'importe quels champs) :
Copy
- json
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}
- Dans le Compte éditeur, vous avez associé des clés aux propriétés
nickname
etserver_custom_id
.
- En réponse à la requête Lire les informations utilisateur, vous recevrez le JSON suivant :
Copy
- json
1{
2 "birthday": null,
3 "country": null,
4 "devices": [
5 {
6 "device": null,
7 "last_used_at": null,
8 "type": null
9 },
10 {
11 "device": null,
12 "last_used_at": null,
13 "type": null
14 }
15 ],
16 "email": null,
17 "external_id": null,
18 "first_name": null,
19 "gender": null,
20 "groups": [
21 {
22 "id": 1,
23 "is_default": false,
24 "name": "admin"
25 },
26 {
27 "id": 5,
28 "is_default": false,
29 "name": "user"
30 }
31 ],
32 "id": null,
33 "is_anonymous": false,
34 "last_login": null,
35 "last_name": null,
36 "nickname": "gamer123",
37 "phone": null,
38 "phone_auth": null,
39 "registered": null,
40 "tag": null,
41 "username": null
42}
Note
Les valeurs renvoyées dans la réponse webhook seront incluses dans le jeton JWT de l’utilisateur, à condition que les champs correspondants soient ajoutés au mappage des noms de clés. Ainsi, pour toute propriété du profil utilisateur absente du système, la réponse renverra la valeur
null
.Utilisation du mappage des noms de clés et de la liaison des comptes lors de l'authentification dans Web Shop
- L'utilisateur se connecte au Web Shop en utilisant son ID d'utilisateur. L'ID utilisateur est enregistré dans le champ
server_custom_id
du JWT. - Web Shop envoie un webhook Validation utilisateur dans Web Shop à votre serveur.
- Votre serveur répond au webhook avec un code HTTP
200
si l'utilisateur existe, ou404
s'il n'existe pas. - Web Shop authentifie l'utilisateur.
- L'utilisateur se connecte à nouveau au Web Shop en utilisant une autre méthode, par exemple, la connexion via un réseau social.
- Web Shop redirige l'utilisateur vers la page de connexion du réseau social.
- L'utilisateur se connecte au réseau social.
- Le réseau social renvoie les données du profil utilisateur à Web Shop.
- Web Shop envoie un webhook à votre URL de connexion via les réseaux sociaux.
- Votre serveur identifie l'utilisateur à partir des données du profil social et lui attribue le même ID utilisateur que celui utilisé lors de l'authentification par ID utilisateur.
- Votre serveur répond avec un code
2xx
et inclut un corps JSON contenant l'ID utilisateur. - Web Shop enregistre les attributs utilisateur et ajoute les données reçues de la réponse webhook dans le champ
partner_data
du JWT. - Si le mappage des noms de clés contient une clé pour
server_custom_id
et la liaison de comptes est activé, Web Shop associe les données utilisateur reçues aux propriétés du profil en fonction du mappage des noms de clés et lie les comptes. - Web Shop authentifie l'utilisateur dans le même compte utilisé lors de la connexion par ID utilisateur.
Cet article vous a été utile ?
Merci pour votre commentaire !
Nous examinerons votre message et l'utiliserons pour améliorer votre expérience.Poursuivre la lecture
Liens utiles
Stockage de données utilisateur personnaliséFaute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entrée.