Authentification via votre propre fournisseur OAuth 2.0
Comment ça marche
Activez l’autorisation utilisateur via le réseau social de votre choix en utilisant le protocole OAuth 2.0. Pour afficher un bouton de connexion via un réseau social sur le widget d’autorisation, renseignez les détails du fournisseur dans le Compte éditeur.
Activez l’autorisation utilisateur via le réseau social de votre choix en utilisant le protocole OAuth 2.0. Pour afficher un bouton de connexion via un réseau social sur le widget d’autorisation, renseignez les détails du fournisseur dans votre compte.

Flux d’authentification
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
actor User as User
participant TP as 3rd party
participant XL as Xsolla Login
participant OP as Partner OAuth2 Server
User->>TP: Clicks login button
TP->>XL: Calls Auth via social network (Xsolla Login API)
XL->>OP: Calls partner's Authorization URL
alt Success
OP-->>XL: Sends authorization code to https://login.xsolla.com/api/social/callback
else Dependency service unavailable
OP-->>XL: Sends "Dependency service unavailable" error. Error code = "010-035"
end
XL->>OP: Calls partner's Token URL to exchange authorization code to access token
alt Success
OP-->>XL: Sends access token
else Error getting token
OP-->>XL: Sends "Error occurred while getting OAuth 2.0 Access token" error. Error code = "010-015"
end
XL->>OP: Calls partner's Your info URL to get user data
alt Success
OP-->>XL: Sends user data
else Error getting profile
OP-->>XL: Sends "Failed to get social profile" error. Error code = "010-036"
end
XL-->>TP: Returns Xsolla Login token
TP-->>User: User is authenticated
Flux de connexion pour la première fois
L’utilisateur clique sur le bouton Log in with [Your Platform] sur le widget d’autorisation.
L’utilisateur est redirigé vers votre page de connexion ou de consentement (l’adresse est spécifiée dans le champ URL d’autorisation dans les paramètres).
L’utilisateur entre ses identifiants et approuve l’accès sur votre système.
Votre système redirige l’utilisateur vers Xsolla avec un code d’autorisation.
Xsolla contacte votre système pour échanger le code contre un jeton d’accès (l’adresse est spécifiée dans le champ URL de jeton dans les paramètres).
Xsolla récupère les données de profil de l’utilisateur (ID, e-mail, etc.) de votre système en utilisant le jeton d’accès (l’adresse est spécifiée dans le champ Votre URL d’info dans les paramètres).
L’utilisateur est connecté et retourné à l’application en tant qu’utilisateur Xsolla authentifié.
Flux utilisateur de retour
L’utilisateur clique sur le bouton Log in with [Your Platform] sur le widget d’autorisation.
L’utilisateur est redirigé vers votre page de connexion ou de consentement (l’adresse est spécifiée dans le champ URL d’autorisation dans les paramètres).
Votre système reconnaît la session active et passe l’écran des identifiants. Si votre système nécessite une ré-authentification à chaque visite, l’utilisateur verra à nouveau le formulaire de connexion.
Votre système vérifie si l’utilisateur a déjà accordé les portées demandées. Si le consentement a déjà été donné et n’a pas été révoqué, l’écran de consentement est passé.
Votre système redirige l’utilisateur vers Xsolla avec un code d’autorisation.
Xsolla contacte votre système pour échanger le code contre un jeton d’accès (l’adresse est spécifiée dans le champ URL de jeton dans les paramètres).
Xsolla récupère les données de profil actuelles de l’utilisateur de votre système en utilisant le jeton d’accès (l’adresse est spécifiée dans le champ Votre URL d’info dans les paramètres).
L’utilisateur est connecté et retourné à l’application. Le flux complet se termine généralement en quelques secondes sans interaction visible requise de l’utilisateur.
Échec de l’authentification
URL d’autorisation indisponible (erreur 010-035)
L’utilisateur clique sur le bouton Log in with [Your Platform] sur le widget d’autorisation.
L’utilisateur est redirigé vers votre page de connexion ou de consentement (l’adresse est spécifiée dans le champ URL d’autorisation dans les paramètres).
Le serveur OAuth2 du partenaire est indisponible et renvoie une erreur.
Xsolla Login reçoit une erreur “Service de dépendance indisponible” (010-035) et ne poursuit pas.
Échec de l’échange de jeton (erreur 010-015)
L’utilisateur clique sur le bouton Log in with [Your Platform] sur le widget d’autorisation.
L’utilisateur est redirigé vers votre page de connexion ou de consentement (l’adresse est spécifiée dans le champ URL d’autorisation dans les paramètres).
L’utilisateur entre ses identifiants et approuve l’accès sur votre système.
Votre système redirige l’utilisateur vers Xsolla avec un code d’autorisation.
Xsolla contacte votre système pour échanger le code contre un jeton d’accès (l’adresse est spécifiée dans le champ URL de jeton dans les paramètres).
Le serveur OAuth2 du partenaire ne parvient pas à émettre un jeton et renvoie une erreur.
Xsolla Login reçoit une erreur “Erreur survenue lors de l’obtention du jeton d’accès OAuth 2.0” (010-015) et ne poursuit pas.
Échec de la récupération des données utilisateur (erreur 010-036)
L’utilisateur clique sur le bouton Log in with [Your Platform] sur le widget d’autorisation.
L’utilisateur est redirigé vers votre page de connexion ou de consentement (l’adresse est spécifiée dans le champ URL d’autorisation dans les paramètres).
L’utilisateur entre ses identifiants et approuve l’accès sur votre système.
Votre système redirige l’utilisateur vers Xsolla avec un code d’autorisation.
Xsolla contacte votre système pour échanger le code contre un jeton d’accès (l’adresse est spécifiée dans le champ URL de jeton dans les paramètres).
Xsolla récupère les données de profil de l’utilisateur (ID, e-mail, etc.) de votre système en utilisant le jeton d’accès (l’adresse est spécifiée dans le champ Votre URL d’info dans les paramètres).
Le serveur OAuth2 du partenaire ne parvient pas à renvoyer les données utilisateur.
Xsolla Login reçoit une erreur “Échec de l’obtention du profil social” (010-036) et ne poursuit pas.
Comment l’obtenir
Pour activer l’autorisation via OAuth 2.0 :
- Ajoutez
https://login.xsolla.com/api/social/oauth2/callbackcomme URI de redirection autorisé dans les paramètres de votre propre fournisseur OAuth 2.0 pour éviter les échecs d’autorisation.
- Ouvrez votre projet dans le Compte éditeur et allez dans la section Players > Login.
- Ouvrez le projet dans votre compte et accédez à la section Other tools > Login.
- Ouvrez le projet dans votre compte et accédez à la section Players > Login.
- Ouvrez le projet dans votre compte et accédez à la section Players > Login.
- Ouvrez le projet dans votre compte et accédez à la section Players > Login.
Cliquez sur Configure dans le panneau d’une option de connexion classique.
Allez dans le bloc Authentication et sélectionnez la connexion OAuth 2.0.
- Remplissez les champs suivants :
- Authorization name — nom de l’intégration. Utilisé pour l’identification dans le Compte éditeur. Il peut contenir des chiffres, des lettres latines, des tirets et des underscores sans espaces, avec une longueur maximale de 100 caractères.
- Authorization name — nom de l’intégration. Utilisé pour l’identification dans votre compte. Il peut contenir des chiffres, des lettres latines, des tirets et des underscores sans espaces, avec une longueur maximale de 100 caractères.
Authorization URL — URL de la méthode utilisée pour l’authentification utilisateur.
Token URL — URL de la méthode utilisée pour obtenir un jeton d’accès.
Your info URL — URL de la méthode utilisée pour obtenir les données du profil utilisateur (comme l’ID et l’e-mail) en utilisant le jeton d’accès.
Client ID — identifiant unique du client sur le serveur d’autorisation. Il peut contenir des chiffres, des lettres latines, des tirets et des underscores sans espaces, avec une longueur maximale de 255 caractères.
Client secret key — un ID unique généré par votre système d’autorisation. Il peut contenir des chiffres, des lettres latines, des tirets et des underscores sans espaces, avec une longueur de 8 à 255.
Permission scope — la liste des droits d’accès que votre système demande à l’utilisateur lors de l’autorisation (par exemple,
openid,profile,email).
Configurez la Carte de nom de clé :
Fournissez le nom de la clé pour l’adresse e-mail dans votre système (facultatif).
Fournissez le nom de la clé pour l’identifiant utilisateur dans votre système.
Dans la section Paramètres, spécifiez les paramètres d’authentification supplémentaires. (facultatif) :
auth_content_type— la valeur de l’en-têteContent-Type.auth_header— l’en-tête qui transmet le jeton d’autorisation lors de la demande de données utilisateur (autorisation dans l’en-tête).auth_param— le nom du paramètre de requête qui transmet le jeton d’autorisation lors de la demande de données utilisateur (autorisation dans le paramètre).token_type— type de jeton. Valeurs possibles :Bearer,OAuth.use_pkce— un indicateur indiquant l’utilisation de la technologie PKCE (Proof Key for Code Exchange) lors de l’autorisation. Il est fortement recommandé d’activer cela pour garantir le plus haut niveau de sécurité.
NoteLes noms de clés doivent commencer par$., par exemple,$.response[0].emailet$.response[0].id.

Si vous utilisez l’intégration via le widget d’autorisation, configurez la personnalisation :
Spécifiez le Nom du bouton d’autorisation. Longueur maximale — 30 caractères.
Téléchargez votre logo. Taille recommandée : 24 × 24px. Formats pris en charge : JPG, PNG et SVG.
Définissez la couleur du bouton d’autorisation.
Cliquez sur Save changes.
- Si vous utilisez l’intégration via les méthodes de l’API Login, configurez la transmission de votre ID fournisseur dans le
provider_nameau format suivant :"<authorization_name>-<publisher_id>", où<authorization_name>— est le nom de l’intégration que vous avez spécifié dans les paramètres du fournisseur, et<publisher_id>— est l’ID de votre projet dans le Compte éditeur. Selon le protocole d’autorisation choisi, utilisez les méthodes suivantes pour transmettre le paramètreprovider_name:
- Si vous utilisez l’intégration via les méthodes de l’API Login, configurez la transmission de votre ID fournisseur dans le
provider_nameau format suivant :"<authorization_name>-<publisher_id>", où<authorization_name>— est le nom de l’intégration que vous avez spécifié dans les paramètres du fournisseur, et<publisher_id>— est l’ID du projet dans votre compte. Selon le protocole d’autorisation choisi, utilisez les méthodes suivantes pour transmettre le paramètreprovider_name:
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entrée.