Stockage personnalisé
Si vous utilisez le stockage personnalisé, vous avez accès aux fonctionnalités suivantes :
- enregistrement utilisateur
- authentification par nom d’utilisateur et mot de passe
- authentification sans mot de passe par numéro de téléphone
- authentification via les réseaux sociaux
- réinitialisation du mot de passe utilisateur
Flux d'interaction
Vous pouvez utiliser le widget Login ou votre application, qui utilise les appels Login API, comme client. Le flux d’interaction entre le client et le serveur Xsolla Login est le suivant :
- Le client envoie des requêtes au serveur Xsolla Login. Le format des requêtes est décrit dans les endpoints JWT et Password.
- Le serveur Xsolla Login envoie des requêtes à votre serveur. Suivez les instructions pour valider les requêtes.
- Le serveur Xsolla Login traite la réponse de votre serveur et renvoie le résultat au client.
- Le client traite la réponse.
En réponse à une requête du serveur, vous pouvez obtenir des informations sur l’utilisateur sous la forme d’une structure :
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). |
value | string | Valeur de l’attribut utilisateur. Longueur maximale : 256 symboles. |
Enregistrement utilisateur
- Le client envoie la requête
Register new user au serveur Xsolla Login. - Le serveur Xsolla Login envoie une requête à l'URL de nouvel utilisateur. La réponse doit être dans le format décrit dans ces instructions. Dans la réponse, vous pouvez spécifier une liste d'attributs utilisateur.
Exemple de réponse de l’URL de nouvel utilisateur :
http
- http
- curl
POST https://your.hostname/your_registration_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email": "john@gmail.com",
"password": "123456"
}
curl --request POST \
--url 'https://your.hostname/your_registration_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"john@gmail.com","password":"123456"}'
Exemple de réponse :
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
- Les données utilisateur sont enregistrées dans la base de données Xsolla tant que l'
email
est marqué comme non confirmé. L'utilisateur recevra un e-mail de confirmation de compte. - Si vous avez intégré le widget Login, l'utilisateur sera redirigé vers une page affichant le message suivant : Please confirm your account following the instructions we sent to {email}.
- Si l'inscription de l'utilisateur échoue, fournissez un message d'erreur qui sera affiché 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 détails suivants :- Dans le paramètre
code
, spécifiez011-002
; - Dans le paramètre
description
, fournissez le texte du message d'erreur.
- Dans le paramètre
{
"error": {
"code": "011-002",
"description": "<string>"
}
}
Authentification par nom d'utilisateur et mot de passe
- Le client envoie la requête
Auth by username and password au serveur Xsolla Login. - Le serveur Xsolla Login envoie une requête à l'URL de vérification utilisateur. La réponse doit être dans le format décrit dans ces instructions.
Exemple de réponse de l’URL de nouvel utilisateur :
http
- http
- curl
POST https://your.hostname/your_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email": "john@gmail.com",
"password": "123456"
}
curl --request POST \
--url 'https://your.hostname/your_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"john@gmail.com","password":"123456"}'
Exemple de réponse :
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
- Le serveur Xsolla Login génère un JWT utilisateur.
- L'utilisateur est redirigé vers
login_url
avec le paramètre de requêtetoken
. Le paramètretoken
contient le JWT utilisateur.
Authentification sans mot de passe par numéro de téléphone
- Le client ouvre un formulaire d'authentification pour que l'utilisateur puisse entrer son numéro de téléphone.
- L'utilisateur entre son numéro de téléphone.
- Le client envoie la requête
Start auth by phone number au serveur Xsolla Login. - Le client affiche un champ pour que l'utilisateur puisse entrer le code de vérification.
- L'utilisateur saisit le code de vérification reçu.
- Le client envoie la requête
Complete auth by phone number au serveur Xsolla Login. - S'il s'agit de la première autorisation de l'utilisateur, le serveur Xsolla Login envoie la requête à l'URL de connexion sans mot de passe par numéro de téléphone. La réponse doit être dans le format décrit dans ces instructions.
Exemple de réponse de l’URL de nouvel utilisateur :
http
- http
- curl
POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"login": "+12025550140",
"type": "phone"
}
curl --request POST \
--url 'https://your.hostname/your_phone_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"login":"+12025550140","type":"phone"}'
Exemple de réponse :
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
Authentification via les réseaux sociaux
Pour obtenir les données utilisateur lors de l’authentification via les réseaux sociaux, spécifiez Social Login URL dans les paramètres de votre projet de connexion dans le Compte utilisateur (section User database > Storage > Custom storage). Une requête contenant les données reçues du réseau social est envoyée à cette URL.
Flux d’authentification :
- Le client envoie la requête
Auth via social network au serveur Xsolla Login. - L’utilisateur se connecte à un réseau social.
- Le serveur Xsolla Login traite les données utilisateur reçues du réseau social et envoie une requête à l’URL de connexion via le réseau social. La réponse doit être dans le format décrit dans les instructions.
La requête contient des données dans le jeton temporaire de l’en-tête Authorization: Bearer <JWT>
. Le JWT utilisateur passé dans la requête contient les données suivantes :
Revendication | Type | Description |
---|---|---|
exp | Unix Timestamp | Date et heure d’expiration du JWT. La durée de vie du JWT est de 7 minutes. Obligatoire. |
iat | Unix Timestamp | Date et heure d’émission du JWT. Obligatoire. |
iss | string | Service ayant signé le JWT : https://login.xsolla.com . Obligatoire. |
request_type | string | Constante : gateway_request . Obligatoire. |
xsolla_login_project_id | string (UUID) | ID de votre projet de connexion dans le Compte éditeur. Obligatoire. |
string | Adresse e-mail utilisateur. | |
sub | string (UUID) | ID utilisateur écrit sur le serveur Xsolla Login. Obligatoire. |
username | string | Nom d’utilisateur. |
provider | string | Nom du réseau social utilisé pour l’authentification. Obligatoire. |
id | string | ID utilisateur dans le réseau social. Obligatoire. |
- json
{
"exp": 1573635020,
"iat": 1573634600,
"iss": "https://login.xsolla.com",
"request_type": "gateway_request",
"xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
"sub": "00000000-0000-0000-0000-000000000000",
"email": "example@test.com",
"username": "Smith707",
"provider": "google",
"id": "123",
}
Exemple de réponse de l’URL de nouvel utilisateur :
http
- http
- curl
POST https://your.hostname/your_social_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{}
curl --request POST \
--url 'https://your.hostname/your_social_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json'
Exemple de réponse :
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
Réinitialisation du mot de passe utilisateur
- Le client envoie la requête
Reset password au serveur Xsolla Login. - Le serveur de connexion Xsolla 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 dans l'e-mail, l'utilisateur est redirigé vers la page où il peut saisir un nouveau mot de passe.
- L'utilisateur saisit le nouveau mot de passe.
- Le serveur Xsolla Login envoie une requête à l'URL de réinitialisation du mot de passe. La réponse doit avoir le format décrit dans ces instructions.
Exemple de réponse de l’URL de nouvel utilisateur :
http
- http
- curl
POST https://your.hostname/your_reset_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"username": "john@gmail.com",
"fields": {
"password": "NewPa$$word1"
}
}
curl --request POST \
--url 'https://your.hostname/your_reset_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'
Cet article vous a été utile ?
Évaluer cette page
Préfère ne pas répondre
Merci pour votre commentaire !
Poursuivre la lecture
Liens utiles
Comment connecter le stockage personnaliséFaute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.