Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Authentification anonyme avec Firebase à l'aide de JavaScript

Vous pouvez utiliser l'authentification Firebase pour créer et utiliser des comptes anonymes temporaires pour vous authentifier auprès de Firebase. Ces comptes anonymes temporaires peuvent être utilisés pour permettre aux utilisateurs qui ne se sont pas encore inscrits à votre application de travailler avec des données protégées par des règles de sécurité. Si un utilisateur anonyme décide de s'inscrire à votre application, vous pouvez associer ses informations de connexion au compte anonyme afin qu'il puisse continuer à travailler avec ses données protégées dans les sessions futures.

Avant que tu commences

  1. Ajoutez Firebase à votre projet JavaScript .
  2. Si vous n'avez pas encore connecté votre application à votre projet Firebase, faites-le depuis la console Firebase .
  3. Activer l'authentification anonyme:
    1. Dans la console Firebase , ouvrez la section Auth .
    2. Sur la page Méthodes de connexion, activez la méthode de connexion anonyme .

S'authentifier avec Firebase de manière anonyme

Lorsqu'un utilisateur déconnecté utilise une fonctionnalité d'application qui nécessite une authentification avec Firebase, connectez-vous de manière anonyme à l'utilisateur en procédant comme suit:

  1. Appelez la signInAnonymously méthode:
    firebase.auth().signInAnonymously()
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });
    C'est également là que vous pouvez détecter et gérer les erreurs. Pour obtenir la liste des codes d'erreur, consultez les documents de référence sur l'authentification .
  2. Si la méthode signInAnonymously termine sans erreur, l'observateur inscrit dans onAuthStateChanged se déclenchera et vous pourrez obtenir les données de compte de l' User anonyme à partir de l'objet User :
    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        // User is signed in, see docs for a list of available properties
        // https://firebase.google.com/docs/reference/js/firebase.User
        var uid = user.uid;
        // ...
      } else {
        // User is signed out
        // ...
      }
    });

Convertir un compte anonyme en compte permanent

Lorsqu'un utilisateur anonyme s'inscrit à votre application, vous souhaiterez peut-être lui permettre de continuer à travailler avec son nouveau compte. Par exemple, vous souhaiterez peut-être rendre disponibles les éléments ajoutés par l'utilisateur à son panier avant de s'inscrire panier d'achat du compte. Pour ce faire, procédez comme suit:

  1. Lorsque l'utilisateur s'inscrit, terminez le flux de connexion pour le fournisseur d'authentification de l'utilisateur jusqu'à, mais non compris, en appelant l'une des méthodes Auth.signInWith . Par exemple, obtenez le jeton d'identification Google de l'utilisateur, le jeton d'accès Facebook ou l'adresse e-mail et le mot de passe.
  2. Obtenez un AuthCredential pour le nouveau fournisseur d'authentification:

    Connexion à Google
    var credential = firebase.auth.GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);
    Identifiant Facebook
    var credential = firebase.auth.FacebookAuthProvider.credential(
      response.authResponse.accessToken);
    Connexion par e-mail et mot de passe
    var credential = firebase.auth.EmailAuthProvider.credential(email, password);
  3. AuthCredential objet AuthCredential à la méthode de link l'utilisateur de link :

    auth.currentUser.linkWithCredential(credential)
      .then((usercred) => {
        var user = usercred.user;
        console.log("Anonymous account successfully upgraded", user);
      }).catch((error) => {
        console.log("Error upgrading anonymous account", error);
      });

Si l'appel à la link réussit, le nouveau compte de l'utilisateur peut accéder aux données Firebase du compte anonyme.

Prochaines étapes

Maintenant que les utilisateurs peuvent s'authentifier auprès de Firebase, vous pouvez contrôler leur accès aux données de votre base de données Firebase à l' aide des règles Firebase .