Login / Stockage Firebase
  Retour à la documentation

Login

Stockage Firebase

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

Note
Vous pouvez utiliser l’extension Firebase pour envoyer des newsletters aux utilisateurs, par exemple, au sujet de promotions ou de mises à jour.

Flux d'interaction

Vous pouvez utiliser le widget Login ou votre application 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, OAuth 2.0 et Password.
  2. Le serveur Xsolla Login envoie des requêtes à Firebase.
  3. Le serveur Xsolla Login traite la réponse de Firebase et renvoie les résultats au client.
  4. Le client traite la réponse.

Note
Toutes les informations utilisateur, à l’exception des mots de passe, sont stockées du côté de Xsolla.

Flux d'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 d'enregistrement à Firebase.
  3. Les données utilisateur sont écrites dans la base de données Xsolla.
  4. Le statut de l'adresse e-mail utilisateur est vérifié :
    • Si l'utilisateur n'a pas encore vérifié son adresse e-mail dans Firebase, il reçoit un e-mail de confirmation de ce système. Dès que l'utilisateur confirme son adresse e-mail, celle-ci est automatiquement confirmée sur le serveur Xsolla Login ;
    • Si l'adresse e-mail de l'utilisateur a été vérifiée dans Firebase, immédiatement après l'enregistrement, l'utilisateur sera autorisé et redirigé vers le Callback URL spécifié lors de la création du projet de connexion.

Authentification par adresse e-mail et mot de passe utilisateur

Il existe deux types d’authentification par adresse e-mail et mot de passe utilisateur : l’authentification basée sur le standard JWT et l’authentification basée sur le protocole OAuth 2.0.

Note
  • S'il n'y a pas d'entrée sur l'utilisateur dans la base de données Xsolla, une entrée est créée.
  • Le serveur Xsolla Login demande les données suivantes sur l'utilisateur à Firebase et les met à jour dans la base de données Xsolla : l'état de confirmation de l'adresse e-mail, ainsi que l'avatar et le pseudo (le cas échéant).

Flux d'authentification basée sur le standard JWT

  1. Le client envoie la requête Auth by username and password au serveur Xsolla Login.
  2. Le serveur Xsolla Login envoie la requête d'authentification à Firebase.
  3. Le serveur Xsolla Login génère un JWT utilisateur. Pendant cette étape :
    • La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication external_account_id ;
    • La valeur Firebase ID token de la réponse à la requête à Firebase est écrite dans la revendication firebase_id_token ;
    • La valeur Firebase refresh token de la réponse à la requête à PlayFab est écrite dans la revendication firebase_refresh_token.
  4. L'utilisateur est redirigé vers login_url avec le paramètre de requête token. Le JWT utilisateur est écrit dans le paramètre token.

Flux d'authentification basée sur le protocole OAuth 2.0

  1. Le client envoie la requête Auth by username and password avec le paramètre redirect_uri au serveur Xsolla Login.
  2. Le serveur Xsolla Login envoie la requête d'authentification à Firebase.
  3. Le serveur Xsolla Login renvoie login_url avec code dans le paramètre de requête et le paramètre redirect_uri passé.
  4. L'utilisateur est redirigé vers redirect_uri avec le paramètre de requête code.
  5. Le client envoie la requête Generate JWT au serveur Xsolla Login pour échanger le code reçu contre un JWT utilisateur.
  6. Le serveur Xsolla Login génère un JWT utilisateur. Pendant cette étape :
    • La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication external_account_id ;
    • La valeur Firebase ID token de la réponse à la requête à Firebase est écrite dans la revendication firebase_id_token ;
    • La valeur Firebase refresh token de la réponse à la requête à Firebase est écrite dans la revendication firebase_refresh_token.

Authentification via les réseaux sociaux

Seule l’authentification via Google et Facebook est prise en charge. Deux scénarios d’authentification sont disponibles : l’authentification basée sur le standard JWT et l’authentification basée sur le protocole OAuth 2.0.

Flux d'authentification basée sur le standard JWT

  1. L'utilisateur initie l'autorisation en cliquant sur le bouton du widget ou via la méthode Login API.
  2. L'utilisateur est redirigé vers la page de connexion du réseau social où il saisit ses informations d'identification.
  3. Le réseau social renvoie des informations sur l'utilisateur ainsi que son jeton d'accès au serveur Xsolla Login.
  4. Le serveur Xsolla Login envoie une requête d'authentification à Firebase avec ce jeton via la méthode Sign in with OAuth credential.
  5. Le serveur Xsolla Login génère un JWT utilisateur. Pendant cette étape :
    • La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication external_account_id ;
    • La valeur Firebase ID token de la réponse à la requête à Firebase est écrite dans la revendication firebase_id_token ;
    • La valeur Firebase refresh token de la réponse à la requête à Firebase est écrite dans la revendication firebase_refresh_token.
  6. L'utilisateur est redirigé vers login_url avec un paramètre de requête token. Le JWT utilisateur est écrit dans le paramètre token.

Flux d'authentification basée sur le protocole OAuth 2.0

  1. L'utilisateur initie l'autorisation en cliquant sur le bouton du widget ou via la méthode Login API.
  2. L'utilisateur est redirigé vers la page de connexion du réseau social où il entre ses informations d'identification.
  3. Le réseau social renvoie des informations sur l'utilisateur ainsi que son jeton d'accès au serveur Xsolla Login.
  4. Le serveur Xsolla Login envoie une requête d'authentification à Firebase avec ce jeton via la méthode Sign in with OAuth credential.
  5. Le serveur Xsolla Login renvoie login_url avec code dans le paramètre de requête ainsi que le paramètre redirect_uri passé.
  6. L'utilisateur est redirigé vers redirect_uri avec le paramètre de requête code.
  7. Le client envoie la requête Generate JWT au serveur Xsolla Login pour échanger le code reçu contre un JWT utilisateur.
  8. Le serveur Xsolla Login génère le JWT utilisateur. Pendant cette étape :
    • La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication external_account_id.
    • La valeur Firebase ID token de la réponse à la requête à Firebase est écrite dans la revendication firebase_id_token.
    • La valeur Firebase refresh token de la réponse à la requête à Firebase est écrite dans la revendication firebase_refresh_token.

Blocage de l'utilisateur

Vous pouvez bloquer des utilisateurs dans le Compte éditeur. Les utilisateurs bloqués ne peuvent pas être authentifiés. Le blocage est enregistré et stocké côté Xsolla uniquement.

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: 30 Août 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 !