Stockage Firebase
Si vous utilisez le stockage Firebase, vous avez accès aux fonctionnalités suivantes :
- enregistrement utilisateur
- authentification par adresse e-mail et mot de passe utilisateur
- authentification via les réseaux sociaux
- blocage de l’utilisateur
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 :
- 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.
- Le serveur Xsolla Login envoie des requêtes à Firebase.
- Le serveur Xsolla Login traite la réponse de Firebase et renvoie les résultats au client.
- Le client traite la réponse.
Flux d'enregistrement utilisateur
- Le client envoie la requête
Register new user au serveur Xsolla Login. - Le serveur Xsolla Login envoie une requête d'enregistrement à Firebase.
- Les données utilisateur sont écrites dans la base de données Xsolla.
- 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.
- 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
- Le client envoie la requête Auth by username and password au serveur Xsolla Login.
- Le serveur Xsolla Login envoie la requête d'authentification à Firebase.
- 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
.
- La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication
- L'utilisateur est redirigé vers
login_url
avec le paramètre de requêtetoken
. Le JWT utilisateur est écrit dans le paramètretoken
.
Flux d'authentification basée sur le protocole OAuth 2.0
- Le client envoie la requête Auth by username and password avec le paramètre
redirect_uri
au serveur Xsolla Login. - Le serveur Xsolla Login envoie la requête d'authentification à Firebase.
- Le serveur Xsolla Login renvoie
login_url
aveccode
dans le paramètre de requête et le paramètreredirect_uri
passé. - L'utilisateur est redirigé vers
redirect_uri
avec le paramètre de requêtecode
. - Le client envoie la requête Generate JWT au serveur Xsolla Login pour échanger le
code
reçu contre un JWT utilisateur. - 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
.
- La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication
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
- L'utilisateur initie l'autorisation en cliquant sur le bouton du widget ou via la méthode Login API.
- L'utilisateur est redirigé vers la page de connexion du réseau social où il saisit ses informations d'identification.
- Le réseau social renvoie des informations sur l'utilisateur ainsi que son jeton d'accès au serveur Xsolla Login.
- Le serveur Xsolla Login envoie une requête d'authentification à Firebase avec ce jeton via la méthode Sign in with OAuth credential.
- 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
.
- La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication
- L'utilisateur est redirigé vers
login_url
avec un paramètre de requêtetoken
. Le JWT utilisateur est écrit dans le paramètretoken
.
Flux d'authentification basée sur le protocole OAuth 2.0
- L'utilisateur initie l'autorisation en cliquant sur le bouton du widget ou via la méthode Login API.
- L'utilisateur est redirigé vers la page de connexion du réseau social où il entre ses informations d'identification.
- Le réseau social renvoie des informations sur l'utilisateur ainsi que son jeton d'accès au serveur Xsolla Login.
- Le serveur Xsolla Login envoie une requête d'authentification à Firebase avec ce jeton via la méthode Sign in with OAuth credential.
- Le serveur Xsolla Login renvoie
login_url
aveccode
dans le paramètre de requête ainsi que le paramètreredirect_uri
passé. - L'utilisateur est redirigé vers
redirect_uri
avec le paramètre de requêtecode
. - Le client envoie la requête Generate JWT au serveur Xsolla Login pour échanger le
code
reçu contre un JWT utilisateur. - 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
.
- La valeur localId de la réponse à la requête à Firebase est écrite dans la revendication
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.
Poursuivre la lecture
Liens utiles
Comment connecter le stockage FirebaseFaute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.