Вход по почте через Firebase

инфо
Что нужно заранее

Включение провайдера в Firebase

  1. Откройте консоль Firebase и нажмите Authentication.
  2. Нажмите Get started — этой кнопки не будет, если другие способы входа уже настроены.
  3. Перейдите на вкладку Sign-in method.
  4. Выберите Email/Password в секции Native providers. Если провайдеры уже добавлены, нажмите Add new provider и выберите Email/Password.
  5. Включите переключатель Email/Password.
  6. Нажмите Save.

Экран входа

Готовые шаблоны страниц (Page Templates) сразу дают страницу с двумя блоками — «Create Account» и «Log In». Это отвечает порядку работы Firebase: сначала пользователь создаёт аккаунт по почте, потом входит с ней же.

Действие Create Account

Создание аккаунта — первое, что делает новый пользователь. Приложение собирает почту, пароль и, если нужно, дополнительные данные вроде имени или телефона, а Firebase сохраняет их и заводит учётную запись.

  1. Соберите страницу — из шаблона или с нуля — с полями Email, Password и Confirm Password. При необходимости добавьте другие.
  2. Добавьте кнопку «Create Account» или «Sign Up» и повесьте на неё действие.
  3. Найдите и выберите Create Account в разделе Backend/Database > Firebase Authentication.
  4. В Auth Provider укажите Email.
  5. Свяжите поля действия с переменными — обычно это Widget State > имя поля.
  6. Опция Create User Document включена по умолчанию: после успешной регистрации в коллекции «users» появится документ с почтой и UID, если его там ещё нет.
    • Чтобы писать документ в другую коллекцию, поменяйте её в списке Created Document > Collection.
    • Чтобы при регистрации сохранять что-то ещё — имя, возраст, дату рождения, — нажмите + Add Field и задайте значение. Поля должны быть заранее описаны в коллекции.

Настройка действия Create Account

инфо

Зачем подтверждать почту при входе по паролю — в разделе Способы входа.

  1. Добавьте новое действие сразу после Create Account.
  2. Найдите и выберите Send Email Verification Link (раздел Backend/Database > Firebase Authentication). Адрес берётся из Firebase Authentication автоматически, пользователю уходит письмо со ссылкой.

Ссылка приходит на почту; после перехода по ней пользователь видит сообщение об успешном подтверждении.

Действие Log In

Вход — для тех, у кого аккаунт уже есть: введённые почта и пароль сверяются с сохранёнными.

  1. Соберите страницу входа — из шаблона или с нуля — с полями Email и Password.
  2. Добавьте кнопку «Log In» и повесьте на неё действие.
  3. Найдите и выберите Log In в разделе Backend/Database > Firebase Authentication.
  4. Свяжите поля с переменными — обычно Widget State > имя поля.

Настройка действия Log In

инфо

Выход из аккаунта — действие Logout.

Проверка в консоли Firebase

Что пользователи действительно создаются, видно в Firebase project > Authentication > Users.

перевод официальной документации FlutterFlow

обновлено

ESC