Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Аутентификация в Firebase с использованием пользовательской системы аутентификации

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Вы можете интегрировать Firebase Authentication с пользовательской системой аутентификации, изменив свой сервер аутентификации для создания настраиваемых подписанных токенов, когда пользователь успешно входит в систему. Ваше приложение получает этот токен и использует его для аутентификации в Firebase.

Прежде чем вы начнете

  1. Если вы еще этого не сделали, следуйте инструкциям в руководстве по началу работы.
  2. Установите и настройте Firebase Admin SDK . Обязательно инициализируйте SDK с правильными учетными данными для вашего проекта Firebase.

Авторизоваться с помощью Firebase

  1. Когда пользователи входят в ваше приложение, отправьте их учетные данные для входа (например, имя пользователя и пароль) на ваш сервер проверки подлинности. Ваш сервер проверяет учетные данные и, если они действительны, создает собственный токен Firebase и отправляет токен обратно в ваше приложение.

  2. После того, как вы получите пользовательский токен с вашего сервера аутентификации, передайте его signInWithCustomToken() для входа пользователя:

    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("Unkown error.");
        }
    }
    

Следующие шаги

После того, как пользователь создает новую учетную запись, эта учетная запись сохраняется как часть вашего проекта Firebase и может использоваться для идентификации пользователя во всех приложениях вашего проекта, независимо от того, какой метод входа использовал пользователь.

В своих приложениях вы можете получить основную информацию о профиле пользователя из объекта User . См. Управление пользователями .

В правилах безопасности Firebase Realtime Database и Cloud Storage вы можете получить уникальный идентификатор вошедшего пользователя из переменной auth и использовать его для управления тем, к каким данным пользователь может получить доступ.

Вы можете разрешить пользователям входить в ваше приложение с помощью нескольких поставщиков проверки подлинности, связав учетные данные поставщика проверки подлинности с существующей учетной записью пользователя.

Чтобы выйти из системы, вызовите signOut() :

await FirebaseAuth.instance.signOut();