Uwierzytelniaj w Firebase z użyciem niestandardowego systemu uwierzytelniania

Uwierzytelnianie Firebase możesz zintegrować z niestandardowym systemem uwierzytelniania przez modyfikowanie serwera uwierzytelniania w celu tworzenia niestandardowych podpisanych tokenów, udało się zalogować. Twoja aplikacja otrzymuje ten token i używa go do uwierzytelniania za pomocą Firebase.

Zanim zaczniesz

  1. W razie potrzeby wykonaj czynności opisane w przewodniku Pierwsze kroki.
  2. Zainstaluj i skonfiguruj pakiet SDK Firebase Admin. Pamiętaj, aby zainicjować pakiet SDK. z danymi logowania do projektu Firebase.

Uwierzytelnij za pomocą Firebase

  1. Gdy użytkownicy logują się w Twojej aplikacji, wyślij swoje dane logowania (na przykład (np. nazwę użytkownika i hasło) na Twój serwer uwierzytelniania. Twoje serwer sprawdza dane logowania i, jeśli są prawidłowe, tworzy niestandardowy token Firebase. i wysyła token z powrotem do aplikacji.

  2. Po otrzymaniu niestandardowego tokena z serwera uwierzytelniania przekaż go do signInWithCustomToken(), aby zalogować użytkownika:

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unknown error.");
        }
    }
    

Dalsze kroki

Gdy użytkownik utworzy nowe konto, zostanie ono zapisane w ramach projektu Firebase i możesz go użyć do identyfikacji użytkownika w każdej aplikacji niezależnie od użytej metody logowania.

W swoich aplikacjach możesz uzyskać podstawowe informacje o profilu użytkownika z User obiekt. Zobacz Zarządzanie użytkownikami.

W Bazie danych czasu rzeczywistego Firebase i regułach zabezpieczeń Cloud Storage możesz: pobierz ze zmiennej auth unikalny identyfikator zalogowanego użytkownika i użyj go do kontrolować dostęp użytkownika do danych.

Możesz zezwolić użytkownikom na logowanie się w aplikacji przy użyciu wielokrotnego uwierzytelniania. dostawców, łącząc dane logowania dostawcy uwierzytelniania) z istniejącego konta użytkownika.

Aby wylogować użytkownika, zadzwoń pod numer signOut():

await FirebaseAuth.instance.signOut();