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_urlavec 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_uriau serveur Xsolla Login. - Le serveur Xsolla Login envoie la requête d'authentification à Firebase.
- Le serveur Xsolla Login renvoie
login_urlaveccodedans le paramètre de requête et le paramètreredirect_uripassé. - L'utilisateur est redirigé vers
redirect_uriavec le paramètre de requêtecode. - Le client envoie la requête Generate JWT au serveur Xsolla Login pour échanger le
codereç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_urlavec 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_urlaveccodedans le paramètre de requête ainsi que le paramètreredirect_uripassé. - L'utilisateur est redirigé vers
redirect_uriavec le paramètre de requêtecode. - Le client envoie la requête Generate JWT au serveur Xsolla Login pour échanger le
codereç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
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+Entrée.