Перейти к основному содержимому

Пользовательская аутентификация

Пользовательская аутентификация позволяет управлять данными, связанными с аутентификацией (детали входа), используя собственный бэкенд для аутентификации пользователей.

concepts

Понимание концепции Токена необходимо для понимания того, как работает безопасный доступ и проверка пользователей в приложении.

Добавление пользовательской аутентификации

Давайте разберём, как добавить пользовательскую аутентификацию, построив пример, который выглядит так:

Шаги по добавлению пользовательской аутентификации следующие:

  1. Включение пользовательской аутентификации
  2. Создание страниц
  3. Аутентификация пользователей
  4. Сохранение данных аутентификации
  5. Доступ к данным аутентификации
  6. Обновление данных аутентификации
  7. Выход

1. Включение пользовательской аутентификации

Чтобы включить пользовательскую аутентификацию в FlutterFlow:

  1. Откройте Настройки и интеграции () > Настройки приложения > Аутентификация.

  2. Включите переключатель Включить аутентификацию и установите Тип аутентификации в значение Пользовательский.

  3. Чтобы пользователи перенаправлялись на соответствующие страницы в зависимости от их статуса входа, необходимо задать начальные страницы.

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

  5. После успешной аутентификации бэкенд обычно отправляет детали входа, такие как токен аутентификации, токен обновления и данные пользователя. Чтобы пользователь оставался в системе в приложении, эти данные необходимо сохранить. Для этого включите Связать тип данных пользователя и установите Тип данных пользователя в пользовательский тип данных. Обратите внимание, что структура вашего пользовательского типа данных должна быть близка к структуре JSON-ответа успешной аутентификации. По крайней мере, она должна включать ключевые поля, такие как токен аутентификации.

2. Создание страниц

Добавим страницу, которая позволит пользователям создавать учётные записи и входить в систему. Чтобы ускорить процесс, можно добавить страницу из шаблона. Вот страница, добавленная из шаблонов, после некоторых изменений она выглядит так:

Также ознакомьтесь с тем, как создать макет страницы, если вы хотите построить страницу с нуля.

auth-2-template.avif

3. Аутентификация пользователей

На каждой странице при нажатии кнопки можно добавить соответствующие вызовы API, связанные с аутентификацией. В этом примере мы используем этот.

4. Сохранение данных аутентификации

После успешной аутентификации данные, связанные с аутентификацией, можно сохранить с помощью действия «Вход в систему». Вот как это сделать:

  1. В ветке TRUE предыдущего вызова API добавьте действие Вход в систему (в разделе Backend/Database > Custom Authentication).

  2. В разделе Свойства аутентификации пользователя можно установить значения для Токена аутентификации, Токена обновления, Времени истечения токена и UID пользователя. Обратите внимание, что для работы опции «Сохранять сессии аутентификации» необходимо установить токен аутентификации.

  3. Установите данные пользователя, чтобы сохранить результат предыдущего вызова API (т. е. детали аутентификации) в пользовательском типе данных. Ознакомьтесь с тем, как получить JSON в тип данных.

5. Доступ к данным аутентификации

Чтобы получить доступ к данным аутентификации после входа пользователя, откройте меню установить из переменной > Аутентифицированный пользователь > выберите из свойств аутентификации или поля данных пользователя.

6. Обновление данных аутентификации

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

Вот как это сделать:

  1. При получении кода состояния 401, т. е. ошибки неавторизованного пользователя, убедитесь, что выполняется вызов API для обновления токена доступа.

  2. После получения нового токена доступа добавьте новое действие с именем Обновить аутентифицированного пользователя.

  3. В разделе Свойства аутентификации пользователя можно обновить значение Токена аутентификации новым токеном доступа.

update-auth-data.avif

7. Выход

Чтобы выйти пользователя из системы, добавьте действие Выход.

logout.avif