Login / Compte multiplateforme
  Retour à la documentation

Login

Compte multiplateforme

Comment ça marche

Glossaire

Vous avez accès aux types de projets de connexion suivants dans le Compte éditeur :

  • Projet de connexion standard — projet de connexion utilisé pour stocker les comptes principaux.
  • Projet de connexion fantôme — projet de connexion utilisé pour stocker les comptes de plateforme.

Le compte principal est un type de compte créé dans un projet de connexion standard et lié à des comptes de plateforme. Le compte principal est utilisé pour identifier le joueur sur différentes plateformes.

Le compte de plateforme est un type de compte qui est créé dans un projet de connexion fantôme et connecté à une plateforme de publication définie. Le compte de plateforme ne peut pas être lié à un autre compte de plateforme. Vous ne pouvez pas non plus délier les comptes d’un compte principal.

La plateforme de publication est une plateforme de jeu utilisée pour la distribution de jeux (par exemple Steam, PlayStation, Xbox, etc.).

Le compte multiplateforme est un compte dont les comptes de plateforme sont liés au compte principal.

Chaque compte utilisateur possédant des jeux sur une plateforme donnée doit être associé à un compte de plateforme dans un projet de connexion fantôme. Par exemple, si l’utilisateur possède un compte avec des jeux sur les plateformes Xbox et PlayStation, les comptes de plateforme du projet de connexion fantôme doivent être liés aux comptes de plateforme Xbox et PlayStation correspondants.

À l'aide d'un compte multiplateforme

Le compte multiplateforme vous permet :

Si les comptes principal et de plateforme sont liés :

  1. L’utilisateur s’authentifie sur une plateforme.
  2. Le serveur Xsolla Login envoie un jeton de compte principal à l’utilisateur.
  3. Le serveur Xsolla Login authentifie l’utilisateur du compte principal.

Lors de l’utilisation du compte multiplateforme, l’ID utilisateur dans un jeton sera le même que l’ID de compte principal. L’ID utilisateur se trouve dans JWT > revendication sub.

Flux de liaison de comptes

Si l’utilisateur possède un compte principal, il peut y lier un compte de plateforme lors de l’authentification sur une plateforme. Le flux de liaison est le suivant :
  1. Le joueur se connecte dans le jeu sur la plateforme de la console pour la première fois.
  2. L’interface du jeu affiche un message proposant l’utilisateur de lier le compte de la plateforme à son compte principal.
  3. L’utilisateur lance l’application et s’authentifie dans son compte principal.
  4. L’application envoie la requête Create code for linking accounts au serveur Xsolla Login.
  5. L’interface de l’application affiche à l’utilisateur un code pour la liaison des comptes.
  6. L’utilisateur revient à la version console du jeu et saisit le code.
  7. Le serveur de jeu envoie la requête Link accounts by code au serveur Xsolla Login.
  8. La console du jeu affiche le message de confirmation.

Qui peut l'utiliser

Les partenaires qui ont déjà intégré Login et qui possèdent un compte sur une plateforme de publication.

Comment configurer

Pour intégrer un compte multiplateforme, vous aurez besoin des paramètres suivants issus de Compte éditeur :

  • main_project_id — ID de projet de connexion standard au format UUID. Par exemple : f6c5011a-715e-4e5e-b7b1-a4812d85b8c8 ;
  • shadow_project_id — ID de projet de connexion fantôme au format UUID. Ce projet sera utilisé comme projet de connexion fantôme. Créez un projet de connexion fantôme et spécifiez publisher_project_id dans les paramètres du projet de connexion. shadow_project_id est l’ID du projet créé ;
  • publisher_project_id — ID de projet. Le paramètre est affiché dans Project settings > General settings > Project ID.

Envoyez les paramètres shadow_project_id et publisher_project_id à votre responsable de la réussite client pour obtenir les paramètres de client OAuth 2.0 suivants :

  • client_id — ID client OAuth 2.0 ;
  • client_secret — clé secrète client OAuth 2.0.
Utilisez les paramètres ci-dessus pour obtenir un jeton de serveur.

L’algorithme d’intégration d’un compte multiplateforme est le suivant :

  1. Implémentez l’authentification utilisateur dans :
    1. Compte principal.
    2. Compte de plateforme.
  2. Liez les comptes :
    1. Obtention du code de liaison.
    2. Liaison des comptes.

Authentification utilisateur dans le compte principal

Le compte principal est créé dans un projet de connexion avec une adresse main_project_id. Vous pouvez utiliser soit le widget Login, soit Login API pour l’enregistrement et l’authentification.

Authentification utilisateur dans le compte de plateforme

Pour enregistrer et authentifier les utilisateurs via une plateforme, choisissez la méthode et suivez les instructions. Vous pouvez également combiner différentes méthodes. Par exemple, utilisez l’authentification silencieuse pour la plateforme Xbox et l’authentification par custom ID pour une autre plateforme.

Authentification par custom ID

Pour créer un compte de plateforme, utilisez l’appel Auth by custom ID sur le serveur de jeu. Passez les données suivantes à cet appel :

  • les paramètres publisher_project_id ou shadow_project_id (le serveur Xsolla Login renvoie une erreur s’ils ne sont pas passés) ;
  • un jeton de serveur ;
  • les informations sur le compte de plateforme de l’utilisateur dans le paramètre social_profile.

Si vous utilisez cet appel d’authentification, vous ne pourrez pas obtenir la liste des amis de l’utilisateur sur différentes plateformes. La liste des plateformes disponibles pour l’authentification n’est pas limitée.

Flux d’authentification :

  1. Le client du jeu envoie la requête d’authentification à un serveur de jeu lorsque l’utilisateur lance le jeu.
  2. Le serveur de jeu génère ou utilise le custom ID déjà existant de l’utilisateur.
  3. Le serveur de jeu envoie la requête Auth by custom ID au serveur Xsolla Login en spécifiant la plateforme et l’identifiant de l’utilisateur sur celle-ci (paramètres platform et user_id). Si l’utilisateur avec le custom ID passé n’est pas trouvé, un nouvel utilisateur est créé.
  4. Le serveur Xsolla Login envoie un jeton au serveur de jeu.

Exemple de requête :

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=<publisher_project_id> HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json

{
  "server_custom_id": "secret_value",
  "social_profile": {
    "platform": "xbox",
    "user_id": "123"
  }
}
curl --request POST \
  --url 'https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=publisher_project_id' \
  --header 'content-type: application/json' \
  --header 'x-server-authorization: server_token' \
  --data '{"server_custom_id":"secret_value","social_profile":{"platform":"xbox","user_id":"123"}}'

Exemple de réponse :

Copy
Full screen
Small screen
HTTP/1.1 200 OK
Content-Type: application/json

{
  "token": "<platform_user_token>"
}

Authentification silencieuse

Pour configurer l’authentification silencieuse, créez un projet de connexion fantôme et suivez les instructions. Utilisez les méthodes d’authentification silencieuse sur le serveur de jeu pour créer un compte de plateforme.

Obtention du code de liaison

Pour obtenir un code de liaison :

  1. Utilisez l’appel Create code for linking accounts. Passez à cet appel le jeton utilisateur que vous avez reçu lors de l’authentification dans le compte principal.
  2. Affichez le code reçu à l’utilisateur.

Exemple de requête :

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/users/account/code HTTP/1.1
Authorization: Bearer <main_user_token>
curl --request POST \
  --url https://login.xsolla.com/api/users/account/code \
  --header 'authorization: main_user_token'

Exemple de réponse :

Copy
Full screen
Small screen
HTTP/1.1 200 OK
Content-Type: application/json

{
  "code": "123456"
}

Liaison des comptes

Pour lier un compte de plateforme au compte principal, utilisez l’appel Link accounts by code. Passez-lui le paramètre code avec la valeur du code de liaison que l’utilisateur a saisie sur la plateforme de la console.

Exemple de requête :

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://login.xsolla.com/api/users/account/link HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json

{
  "code": "123456",
  "platform": "xbox",
  "user_id": "123",
  "publisher_project_id": 44056
}
curl --request POST \
  --url https://login.xsolla.com/api/users/account/link \
  --header 'content-type: application/json' \
  --header 'x-server-authorization: server_token' \
  --data '{"code":"123456","platform":"xbox","publisher_project_id":44056,"user_id":"123"}'

Exemple de réponse :

Copy
Full screen
Small screen
HTTP/1.1 204 No Content
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.
Évaluer cette page
Évaluer cette page
Que pouvons-nous améliorer ?

Préfère ne pas répondre

Merci pour votre commentaire !
Dernière mise à jour: 22 Janvier 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 !