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.
- enregistrement utilisateur ;
- authentification par nom d’utilisateur et mot de passe ;
- authentification sans mot de passe par numéro de téléphone ;
- authentification sans mot de passe par e-mail ;
- authentification via les réseaux sociaux ;
- réinitialisation du mot de passe utilisateur.
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
- pseudo ;
- date de naissance ;
- prénom ;
- nom ;
- ID utilisateur sur votre serveur.
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ètre | Type | Description |
---|---|---|
attr_type | string | Définition du niveau d’accès de l’utilisateur aux attributs de service :
|
key | string | Nom 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 null | Le 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 | string | Dé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 | string | Valeur de l’attribut utilisateur. Longueur maximale : 256 symboles. |
Enregistrement utilisateur
Authentification par nom d'utilisateur et mot de passe
Authentification sans mot de passe par numéro de téléphone
Authentification sans mot de passe par e-mail
Authentification via les réseaux sociaux
Réinitialisation du mot de passe utilisateur
- 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.
- Paramètre de requête
- Le serveur Xsolla Login envoie à l’utilisateur un e-mail de confirmation de réinitialisation du mot de passe.
- 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.
- L’utilisateur saisit un nouveau mot de passe.
- Le serveur Xsolla Login envoie un webhook à l’URL de réinitialisation du mot de passe.
- 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 exemple011-002
; - Dans le paramètre
description
, fournissez le texte du message d’erreur.
- Dans le paramètre
Exemple de webhook à l’URL de réinitialisation du mot de passe :
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
- 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 valeurrefresh_token
;client_id
— ID client OAuth 2.0 ;refresh_token
— jeton d’actualisation reçu en réponse à la requête d’autorisation utilisateur.
- 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.
- http
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 :
- json
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 :
- 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
18}
Poursuivre la lecture
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entrée.