Регистрация в созданном приложении представлена модулем Auth, который позволяет создавать и редактировать группы пользователей и права доступа к ним. Модуль Auth встроен в проект при его создании.

Данные пользователя администратора приложения по умолчанию:

Login: [email protected]

Password: appmaster

Настройки модуля позволяют разработчику производить следующие действия:

  • SignUp Groups: список групп пользователей, которым доступна регистрация;
  • SignUp: включает возможность регистрации в приложении;
  • Session timeout (minutes): время, после которого завершится текущая сессия пользователя при его бездействии (в минутах). По умолчанию 60 мин;
  • Failed login delay (in ms): время задержки на ответ от сервера при неудачной попытке логина (в мс). По умолчанию 0 мс;
  • Email confirmation required: опция, требующая подтверждения через электронную почту, если включена;
  • Signed-Up User Active: присваивает атрибуту active значение true для каждого зарегистрированного пользователя User;
  • Groups: позволяет создавать и редактировать группы пользователей;

User и User Session – две модели, которые автоматически создаются в Data Model Designer. Предустановленные поля моделей данных нельзя изменить или удалить, но можно добавить новые.

Обе модели автоматически создают блоки бизнес-процессов (далее, БП).

Бизнес процессы User, User Session, Auth

Предустановленные БП, связанные с User и User Sessions, следующие:

  • User Model

    • DB: Delete User: удаляет объект User из базы данных по переданному ID;

  • DB: Update User: сбрасывает все поля переданного на вход блока User-объекта в БД и обновляет их в соответствии с заданными значениями (чтобы изменить только заданные поля, используется блок DB: Patch User);

  • DB: Create User: cохраняет в базе данных и возвращает заданный объект User (чтобы построить его из заданных полей, используется блок Make User);

  • DB: Soft Delete User: обновляет DeletedAt атрибут объекта User и оставляет его в БД;

  • DB: Bulk Delete User: принимает на вход массив ID ( ids) объектов User, которые будут удалены из БД; failed_ids — массив идентификаторов пользователей, которые не будут удалены;

  • DB: Patch User: обновляет заданные поля объекта User в БД (чтобы сбросить все поля, используется блок DB: Update User);

  • DB: Search User: находит один или множество объектов User в БД на основе полей и возвращает их;

  • DB: GetOne User: находит объект User в БД по его ID и возвращает его;

  • Expand User: возвращает все поля выбранного объекта User;

  • Make User: создает в памяти новый объект User из заданных полей и возвращает его (чтобы сохранить созданный объект в БД, используется блок DB: Create User);

  • User Session

    • DB: Delete User Session: удаляет объект User Session из базы данных по переданному ID;

  • DB: Update User Session: сбрасывает все поля переданного на вход блока объекта User Session в БД и обновляет их в соответствии с заданными значениями (чтобы изменить только заданные поля, используется DB: Patch User Session);

  • DB: Create User Session: сохраняет в базе данных и возвращает заданный объект User Session (чтобы построить его из заданных полей, используется блок Make User Session);

  • DB: Soft Delete User Session: обновляет DeletedAt атрибут объекта User Session и оставляет его в БД;

  • DB: Bulk Delete User Session: принимает на вход набор ID объектов User Session, которые будут удалены из БД; failed_ids массив определяет набор IDs, которые не будут удалены;

  • DB: Patch User Session: обновляет заданные поля объекта User Session в БД (чтобы сбросить все поля, используется блок DB: Update User Session);

  • DB: Search User Session: находит один или множество объектов User Session в БД на основе полей и возвращает их;

  • DB: GetOne User Session: находит объект User Session в БД по его ID и возвращает его;

  • Expand User Session: возвращает все поля выбранного объекта User Session;

  • Make User Session: создает в памяти новый объект User Session из заданных полей и возвращает его (чтобы сохранить созданный объект в БД, используется блок DB: Create User Session);

  • Auth Module

    • Auth: Generate Auth Token: генерирует токен авторизации ( Auth Token) заданной длины;

  • Auth: Registration: регистрирует нового пользователя;

  • Auth: Authorization: проверяет, существует ли Auth Token в системе и возвращает связанного с ним пользователя;

  • Auth: Authentification: проверяет логин и пароль пользователя и возвращает Auth Token;

  • Auth: Logout: принимает Auth Token и завершает текущую сессию пользователя;

  • Auth: Get current user: возвращает данные текущего пользователя;

  • Auth: Remove user from group: удаляет пользователя из заданной группы по его ID (определенной в настройках модуля Auth);

  • Auth: Add user to group: добавляет пользователя в указанную группу пользователей по его ID (определенную в настройках модуля Auth);

  • Auth: Hash Password: конвертация строки пароля в хеш;

  • Auth: Restore Password: принимает логин и новый пароль пользователя, тем самым сбрасывая его;

  • Auth: Change Password: заменяет текущий пароль пользователя на новый;

  • Auth: Probe Password: проверка соответствия пароля и хеша;

Endpoints User, User Session и Auth Module

Предустановленные Endpoints модуля Auth Module и моделей User и User Session автоматически генерируются при создании проекта.

Auth Module

Тип запросаEndpointСвязанный БП/logout__Auth: Logout/auth__Auth: Authentification/register__Auth: Registration/confirm__Auth: Get Current User_/user/change-password/Auth: Change Password/user/restore-password/Auth: Restore Password/user/profile/_Auth: Get Current User

User

Тип запросаEndpointСвязанный БП_/user/:id/DB: Update User/user/:id/DB: Delete User/user/:id/DB: GetOne User/user/DB: Search User/user/:id/DB: Patch User/user/_DB: Create User

User Session

Тип запросаEndpointСвязанный БП_/user-session/:id/DB: Delete User Session/user-session/:id/DB: GetOne User Session/user-session/DB: Search User Session/user-session/:id/DB: Patch User Session/user-session/DB: Create User Session/user-session/:id/_DB: Update User Session

Auth Token

Auth Token используется в качестве токена текущей сессии авторизованного пользователя. В БП веб-приложения есть возможность взаимодействовать с этим токеном:

  • Get Auth Token возвращает Auth Token текущей сессии авторизованного пользователя;

  • Set Auth Token перезаписывает Auth Token текущей сессии авторизованного пользователя;

  • Remove Auth Token удаляет Auth Token текущей сессии авторизованного пользователя;

Получение текущего пользователя

В примере ниже показано, как получить текущего пользователя.

1. Для этого нужно перейти во вкладку Business logic и перетащить блок Auth: Get current user.

2. Далее для созданного БП создается Endpoint, который будет использоваться для обращения к серверу, чтобы получить объект user текущего пользователя.

Выберите группу user в разделе Endpoints и создайте GET метод запроса для только что созданного процесса получения текущего пользователя.

3. В БП веб-приложения выполните запрос к созданному endpoint( Server request GET /user_current), чтобы получить текущего пользователя.

AppMaster 101Полный курс

10 модулей
2 недели

Не знаете, с чего начать? Начните с нашего ускоренного курса для начинающих и изучите AppMaster от А до Я.

Начать
AppMaster 101 Crash Course

Нужна помощь?

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

headphones

Связаться с поддержкой

Расскажите нам о своей проблеме, и мы найдем для вас решение.

message

Чат сообщества

Общайтесь с другими пользователями, чтобы получить помощь по работе с платформой.

Присоединиться
Как использовать модуль Auth | AppMaster University