Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Uwierzytelnij się anonimowo w Firebase za pomocą JavaScript

Za pomocą uwierzytelniania Firebase możesz tworzyć tymczasowe konta anonimowe i używać ich do uwierzytelniania w Firebase. Te tymczasowe konta anonimowe mogą służyć do umożliwienia użytkownikom, którzy jeszcze nie zarejestrowali się w Twojej aplikacji, pracy z danymi chronionymi przez reguły bezpieczeństwa. Jeśli anonimowy użytkownik zdecyduje się zarejestrować w Twojej aplikacji, możesz połączyć jego poświadczenia logowania z anonimowym kontem , aby mógł kontynuować pracę z chronionymi danymi podczas przyszłych sesji.

Zanim zaczniesz

  1. Dodaj Firebase do swojego projektu JavaScript .
  2. Jeśli nie połączyłeś jeszcze swojej aplikacji z projektem Firebase, zrób to z konsoli Firebase .
  3. Włącz anonimowe uwierzytelnianie:
    1. W konsoli Firebase otwórz sekcję Uwierzytelnianie .
    2. Na stronie Metody logowania włącz metodę logowania anonimowego .

Uwierzytelnij się anonimowo w Firebase

Gdy wylogowany użytkownik korzysta z funkcji aplikacji, która wymaga uwierzytelnienia w Firebase, zaloguj się anonimowo, wykonując następujące czynności:

  1. Wywołać signInAnonymously metodę:
    firebase.auth().signInAnonymously()
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });
    Tutaj można również wyłapać i obsłużyć błędy. Aby uzyskać listę kodów błędów, zapoznaj się z dokumentacją dotyczącą uwierzytelniania .
  2. Jeśli metoda signInAnonymously zakończy się bez błędu, obserwator zarejestrowany w onAuthStateChanged zostanie onAuthStateChanged i można uzyskać dane konta anonimowego użytkownika z obiektu 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
        // ...
      }
    });

Zamień konto anonimowe na konto stałe

Gdy anonimowy użytkownik zarejestruje się w Twojej aplikacji, możesz pozwolić mu kontynuować pracę na nowym koncie - na przykład możesz chcieć, aby produkty, które użytkownik dodał do koszyka przed zarejestrowaniem się, były dostępne w nowym koszyk na koncie. Aby to zrobić, wykonaj następujące czynności:

  1. Gdy użytkownik się zarejestruje, Auth.signInWith proces Auth.signInWith dla dostawcy uwierzytelniania użytkownika, ale nie Auth.signInWith , wywołując jedną z metod Auth.signInWith . Na przykład uzyskaj token Google ID użytkownika, token dostępu do Facebooka lub adres e-mail i hasło.
  2. Uzyskaj AuthCredential dla nowego dostawcy uwierzytelniania:

    Logowanie przez Google
    var credential = firebase.auth.GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);
    Nazwa użytkownika Facebook
    var credential = firebase.auth.FacebookAuthProvider.credential(
      response.authResponse.accessToken);
    Logowanie za pomocą hasła e-mail
    var credential = firebase.auth.EmailAuthProvider.credential(email, password);
  3. Przekaż obiekt AuthCredential do metody link logowania użytkownika:

    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);
      });

Jeśli wezwanie do link powiedzie się, nowe konto użytkownika może uzyskać dostęp do danych Firebase anonimowego konta.

Następne kroki

Teraz, gdy użytkownicy mogą uwierzytelniać się w Firebase, możesz kontrolować ich dostęp do danych w bazie danych Firebase za pomocą reguł Firebase .