Login / Stockage personnalisé
  Retour à la documentation

Login

Stockage personnalisé

Si vous utilisez le stockage personnalisé, vous avez accès aux fonctionnalités suivantes :

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 :

  1. Le client envoie des requêtes au serveur Xsolla Login. Le format des requêtes est décrit dans les endpoints JWT et Password.
  2. Le serveur Xsolla Login envoie des requêtes à votre serveur. Suivez les instructions pour valider les requêtes.
  3. Le serveur Xsolla Login traite la réponse de votre serveur et renvoie le résultat au client.
  4. Le client traite la réponse.

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.
Envoyez les informations sur l’utilisateur de l’une des méthodes suivantes :
  • Sous forme de tout objet JSON.
Note
Pour permettre l’envoi de tout objet JSON en réponse à une requête, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
  • Sous forme d'un tableau d'objets avec les attributs utilisateur. Les objets doivent avoir la structure suivante :
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

  1. Le client envoie la requête Register new user au serveur Xsolla Login.
  2. Le serveur Xsolla Login envoie une requête à l'URL de nouvel utilisateur. La réponse doit être dans le format décrit dans ce flux d'intégration. Dans la réponse, vous pouvez spécifier une liste d'attributs utilisateur ou tout objet JSON nécessaire. L'objet JSON dans la réponse est enregistré dans le champ partner_data du JWT de l'utilisateur.

Note
Pour permettre l’envoi de tout objet JSON en réponse à une requête, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
Exemple de réponse de l’URL de nouvel utilisateur :
Copy
Full screen
Small screen

http

  • http
  • curl
POST https://your.hostname/your_registration_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json

{
  "email":"j.smith@email.com",
  "password":"123456",
  "username":"j.smith@email.com"
}
curl --request POST \
  --url 'https://your.hostname/your_registration_uri' \
  --header 'authorization: bearer_JWT' \
  --header 'content-type: application/json' \
  --data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'

Exemple de réponse avec les attributs utilisateur :

Copy
Full screen
Small screen
{
    "attributes": [
      {
        "attr_type": "server",
        "key": "company",
        "permission": "private",
        "value": "facebook-promo"
      },
      {
        "attr_type": "server",
        "key": "custom-id",
        "permission": "private",
        "value": 48582
      }
    ]
}

Exemple de réponse avec un objet JSON :

Copy
Full screen
Small screen
{ "region": "Asia",
  "type": "new"
}
  1. 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.
  2. 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}.
  3. 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écifiez 011-002 ;
    • Dans le paramètre description, fournissez le texte du message d'erreur.
Exemple d’objet avec un message d’erreur :
Copy
Full screen
Small screen
{
  "error": {
    "code": "011-002",
    "description": "<string>"
  }
}

Authentification par nom d'utilisateur et mot de passe

  1. Le client envoie la requête Auth by username and password au serveur Xsolla Login.
  2. Le serveur Xsolla Login envoie une requête à l'URL de vérification de l'utilisateur. La réponse doit être dans le format décrit dans ce flux d'intégration. Dans la réponse, vous pouvez spécifier une liste d'attributs utilisateur ou tout objet JSON nécessaire. L'objet JSON dans la réponse est enregistré dans le champ partner_data du JWT de l'utilisateur.

Note
Pour permettre l’envoi de tout objet JSON en réponse à une requête, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
Exemple de réponse de l’URL de nouvel utilisateur :
Copy
Full screen
Small screen

http

  • http
  • curl
POST https://your.hostname/your_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json

{
  "email":"j.smith@email.com",
  "password":"123456",
  "username":"j.smith@email.com"
}
curl --request POST \
  --url 'https://your.hostname/your_authentication_uri' \
  --header 'authorization: bearer_JWT' \
  --header 'content-type: application/json' \
  --data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'

Exemple de réponse avec les attributs utilisateur :

Copy
Full screen
Small screen
{
    "attributes": [
      {
        "attr_type": "server",
        "key": "company",
        "permission": "private",
        "value": "facebook-promo"
      },
      {
        "attr_type": "server",
        "key": "custom-id",
        "permission": "private",
        "value": 48582
      }
    ]
}

Exemple de réponse avec un objet JSON :

Copy
Full screen
Small screen
{ "region": "Asia",
  "type": "new"
}
  1. Le serveur Xsolla Login génère un JWT utilisateur.
  2. L'utilisateur est redirigé vers login_url avec le paramètre de requête token. Le paramètre token contient le JWT utilisateur.
Note
Un nouvel utilisateur est créé s’il n’y a aucune donnée utilisateur dans la base de données Xsolla.

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

  1. Le client ouvre un formulaire d'authentification pour que l'utilisateur entre son numéro de téléphone.
  2. L'utilisateur saisit son numéro de téléphone.
  3. Le client envoie la requête Start auth by phone number au serveur Xsolla Login.
  4. Le client affiche un champ pour que l'utilisateur entre le code de vérification.
  5. L'utilisateur saisit le code de vérification reçu.
  6. Le client envoie la requête Complete auth by phone number au serveur Xsolla Login.
  7. 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 téléphone. La réponse doit être dans le format décrit dans ce flux d'intégration. Dans la réponse, vous pouvez spécifier une liste d'attributs utilisateur ou tout objet JSON nécessaire. L'objet JSON dans la réponse est enregistré dans le champ partner_data du JWT de l'utilisateur.

Note
Pour permettre l’envoi de tout objet JSON en réponse à une requête, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
Exemple de réponse de l’URL de nouvel utilisateur :
Copy
Full screen
Small screen

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 avec les attributs utilisateur :

Copy
Full screen
Small screen
{
    "attributes": [
      {
        "attr_type": "server",
        "key": "company",
        "permission": "private",
        "value": "facebook-promo"
      },
      {
        "attr_type": "server",
        "key": "custom-id",
        "permission": "private",
        "value": 48582
      }
    ]
}

Exemple de réponse avec un objet JSON :

Copy
Full screen
Small screen
{ "region": "Asia",
  "type": "new"
}

Authentification sans mot de passe par e-mail

  1. Le client ouvre un formulaire d'authentification pour que l'utilisateur entre son adresse e-mail.
  2. L'utilisateur saisit son adresse e-mail.
  3. Le client envoie la requête Start auth by email au serveur Xsolla Login.
  4. Le client affiche un champ pour que l'utilisateur puisse entrer le code de vérification.
  5. L'utilisateur saisit le code de vérification reçu.
  6. Le client envoie la requête Complete auth by email au serveur Xsolla Login.
  7. 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 e-mail. La réponse doit être dans le format décrit dans ce flux d'intégration. Dans la réponse, vous pouvez spécifier une liste d'attributs utilisateur ou tout objet JSON nécessaire. L'objet JSON dans la réponse est enregistré dans le champ partner_data du JWT de l'utilisateur.

Note
Pour permettre l’envoi de tout objet JSON en réponse à une requête, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
Exemple de réponse de l’URL de nouvel utilisateur :
Copy
Full screen
Small screen

http

  • http
  • curl
POST https://your.hostname/your_email_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json

{
  "email": "user@mail.com",
  "type": "email"
}
curl --request POST \
  --url 'https://your.hostname/your_email_authentication_uri' \
  --header 'authorization: bearer_JWT' \
  --header 'content-type: application/json' \
  --data '{"email": "user@mail.com","type": "email"}'

Exemple de réponse avec les attributs utilisateur :

Copy
Full screen
Small screen
{
    "attributes": [
      {
        "attr_type": "server",
        "key": "company",
        "permission": "private",
        "value": "facebook-promo"
      },
      {
        "attr_type": "server",
        "key": "custom-id",
        "permission": "private",
        "value": 48582
      }
    ]
}

Exemple de réponse avec un objet JSON :

Copy
Full screen
Small screen
{ "region": "Asia",
  "type": "new"
}

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 :

  1. Le client envoie la requête Auth via social network au serveur Xsolla Login.
  2. L’utilisateur se connecte à un réseau social.
  3. Le serveur Xsolla Login traite les données de l’utilisateur reçues du réseau social et envoie une requête à l’URL de connexion via les réseaux sociaux. La réponse doit être dans le format décrit dans le scénario. Dans la réponse, vous pouvez spécifier une liste d’attributs utilisateur ou tout objet JSON nécessaire. L’objet JSON dans la réponse est enregistré dans le champ partner_data du JWT de l’utilisateur.

Note
Pour permettre l’envoi de tout objet JSON en réponse à une requête, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
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 :
RevendicationTypeDescription
expUnix TimestampDate et heure d’expiration du JWT. La durée de vie du JWT est de 7 minutes. Obligatoire.
iatUnix TimestampDate et heure d’émission du JWT. Obligatoire.
issstringService ayant signé le JWT : https://login.xsolla.com. Obligatoire.
request_typestringConstante : gateway_request. Obligatoire.
xsolla_login_project_idstring (UUID)ID de votre projet de connexion dans le Compte éditeur. Obligatoire.
emailstringAdresse e-mail utilisateur.
substring (UUID)ID utilisateur écrit sur le serveur Xsolla Login. Obligatoire.
usernamestringNom d’utilisateur.
providerstringNom du réseau social utilisé pour l’authentification. Obligatoire.
idstringID utilisateur dans le réseau social. Obligatoire.
social_access_tokenstringJeton d’accès du réseau social par lequel l’utilisateur a été authentifié. Pour permettre la transmission de cette requête, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
partner_datastringDonnées de tout type retournées par votre serveur dans le corps de la réponse lors de l’authentification. Pour permettre la transmission de cette réclamation, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.
Exemple de charge utile d’un jeton :
Copy
Full screen
Small screen
{
  "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 :

Copy
Full screen
Small screen

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 avec les attributs utilisateur :

Copy
Full screen
Small screen
{
    "attributes": [
      {
        "attr_type": "server",
        "key": "company",
        "permission": "private",
        "value": "facebook-promo"
      },
      {
        "attr_type": "server",
        "key": "custom-id",
        "permission": "private",
        "value": 48582
      }
    ]
}

Exemple de réponse avec un objet JSON :

Copy
Full screen
Small screen
{ "region": "Asia",
  "type": "new"
}

Réinitialisation du mot de passe utilisateur

  1. Le client envoie la requête Reset password au serveur Xsolla Login.
  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 dans l'e-mail, l'utilisateur est redirigé vers la page où il peut saisir un nouveau mot de passe.
  4. L'utilisateur saisit le nouveau mot de passe.
  5. Le serveur Xsolla Login envoie une requête à l'URL de réinitialisation du mot de passe.

Exemple de réponse de l’URL de nouvel utilisateur :

Copy
Full screen
Small screen

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 ?
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: 18 Novembre 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 !