Authentification unique
Comment ça marche
Si vous avez plusieurs services connectés avec un compte unique commun pour l’authentification utilisateur, utilisez l’authentification unique. Le site Web du jeu fonctionne comme un service. Il permet à l’utilisateur d’entrer ses informations d’identification une seule fois. Ensuite, lorsqu’il ouvrira l’un des services connectés, l’utilisateur sera déjà authentifié.
Flux d'interaction
- L'utilisateur non authentifié ouvre l'un des services.
- Votre client envoie la requête
Check user authentication au serveur Xsolla Login et obtient l'erreur 401. - Votre client ouvre le formulaire d'authentification utilisateur (widget Login ou votre interface de connexion).
- L'utilisateur s'authentifie par nom d'utilisateur et mot de passe ou via un réseau social.
- Votre client authentifie l'utilisateur dans votre projet de connexion :
- Les requêtes suivantes sont utilisées lors de l'intégration de Login via appels API :
- Le protocole OAuth 2.0 est utilisé lors de l'intégration de Login via le widget.
login_uri
qui contientredirect_uri
aveccode
dans le paramètre de requête.
- Votre client redirige l'utilisateur vers
redirect_uri
. - Votre serveur envoie la requête
Generate JWT pour échanger lecode
reçu contre un JWT. L'utilisateur est authentifié sur le service. - L'utilisateur ouvre un autre service.
- Votre client envoie la requête
Check user authentication au serveur Xsolla Login et reçoitlogin_uri
qui contientredirect_uri
aveccode
dans le paramètre de requête. - Votre serveur envoie la requête
Generate JWT pour échanger le message reçucode
contre un JWT. L'utilisateur est authentifié sur le deuxième service.
Différenciation des droits d'accès pour les différents services
Pour différencier les droits d’accès à un compte utilisateur pour différents services, utilisez des valeurs spéciales du paramètrescope=playfab
) dans différents clients OAuth 2.0.Qui peut l'utiliser
Les partenaires qui ont déjà intégré Login et qui utilisent Xsolla, Firebase ou PlayFab base de données.
Comment configurer
Pour connecter l’authentification unique :
- Connectez le protocole OAuth 2.0.
- Implémentez la fonction de rappel à la requête d’obtention de la session utilisateur.
Connexion du protocole OAuth 2.0
Suivez les instructions pour connecter le protocole OAuth 2.0. Vous pouvez utiliser un client OAuth 2.0 pour tous les services ou créer un client OAuth 2.0 distinct pour chaque service.Appel d'obtention de la session utilisateur
Implémentez la fonction de rappel à la requête
Exemple de requête :
http
- http
- curl
GET https://login.xsolla.com/api/oauth2/sso?client_id=<client_id>&redirect_uri=<redirect_uri>&scope=<scope>&state=<state>&response_type=code HTTP/1.1
curl --request GET \
--url 'https://login.xsolla.com/api/oauth2/sso?redirect_uri=redirect_uri&response_type=code&state=state&scope=scope&client_id=client_id'
Exemple de réponse lorsque l’utilisateur est authentifié :
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"login_url": "<redirect_uri>?code=<code>"
}
Pour obtenir un JWT utilisateur :
- Votre client implémente et utilise la requête qui redirige l’utilisateur vers
redirect_uri
reçue. - Votre serveur envoie la requête
Generate JWT avec les sitescode
etgrant_type=authorization_code
reçus pour obtenir un JWT.
Exemple de réponse lorsque l’utilisateur n’est pas authentifié :
- http
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": {
"code": "003-040",
"description": "User is unauthorized."
}
}
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.