Провайдер авторизации
Механизм регистрации пользователя осуществляется через провайдер авторизации. Провайдер авторизации не создается по умолчанию при создании проекта. Если ваш проект подразумевает регистрацию пользователей, вам необходимо самостоятельно настроить провайдер авторизации.
Создание провайдера аутентификации
Чтобы создать провайдер аутентификации, необходимо перейти в раздел пользователей, и далее, выбрать подраздел "Провайдеры аутентификации". В форме создания провайдера необходимо указать:
- Имя - неуникальный строковый тип. Имя может быть указано в любом формате. Имя используется для работы внутри OneEntry Headless CMS. По имени вы будете отличать один провайдер от другого, поэтому называйте ваши провайдеры аутентификации так, чтобы вам было удобно с ними работать.
- Тип - тип передачи данных, используемых для верификации пользователя. Выбирается из списка предложенных. Например, при выбранном типе "email", информация для подтверждения личности пользователя будет приходить на его электронную почту, которую он должен указать при регистрации.
- Маркер - уникальный строковый тип. Используется для доступа к провайдеру внутри кода вашего приложения. Учитывайте синтаксис языка, на котором написан проект, чтобы не допустить ошибок. Например, некоторые языки могут не поддерживать тире в объявлении переменных. В таком случае, будет лучше указать "my_provider" вместо "my-provide".
Заполнив все поля, нажмите кнопку "Добавить", чтобы завершить процесс создания провайдера аутентификации.
Настройка провайдера аутентификации
Чтобы перейти в настройки провайдера аутентификации, выберете его в списке и нажмите на иконку редактирования .
Основные настройки
В разделе настроек можно изменить название и маркер провайдера. К провайдеру аутентификации обязательно нужно добавить форму авторизации. Если у вас нет формы с типом "Вход и регистрация", то ее необходимо создать. Чтобы провайдер работал корректно, форма должна содержать набор атрибутов типа "Пользователь", который содержит как минимум три атрибута - логин, пароль, информацию для верификации (email).
Даже если в качестве логина вы используете email, вам все равно нужно создать и атрибут "login", и атрибут "email".
Общая последовательность действий для создания системы авторизации и верификации следующая:
- Создать атрибут с типом "Для пользователей", которое содержит как минимум три поля - логин, пароль, информацию для верификации (email).
- Назначить соответствующие роли атрибутам в настройках атрибутов.
- Создать форму с типом "Входи и регистрация", в которой указать созданный набор атрибутов.
- Создать провайдер аутентификации, в котором указать созданную форму.
Дополнительные настройки
Раздел дополнительных настроек содержит настройки активации пользователей и токенов.
Активация пользователя - дополнительный этап регистрации. Если настройка активации пользователей не активирована, то каждый зарегистрированный пользователь будет активирован автоматически.
Только активированный пользователь может взаимодействовать с функциями системы, которые требуют авторизации. Например, создавать заказ или подписываться на события.
Если установить флаг "Активировать новых пользователей через код", пользователи не будут активироваться автоматически. Вместо этого, пользователю будет отправлен код указанным в провайдере способом, например по электронной почте. Такой пользователь будет активирован только после того, как подтвердит свою электронную почту посредством ввода кода.
После того как пользователь ввел данные и отправил запрос на регистрацию, он появится в общем списке пользователей, даже если он не активирован. Настройка "Количество дней после которого неактивные пользователи будут удалены" отвечает за то, как долго пользователь будет находиться в этом списке, если по какой-либо причине не подтвердит свою почту.
Блок дополнительных настроек содержит настройки JWT-токенов.
- Секретное слово для генерации JWT токена - слово, которое является ключом шифрования токена. Уникальное слово обеспечивает большую безопасность.
- Время жизни токена авторизации (в сек.) - Время, в течении которого токен будет проходить проверку на валидность. Чем меньше время, тем безопаснее соединение пользователя, однако, слишком короткий промежуток времени увеличит число запросов пользователя к вашему проекту, что негативно скажется на быстродействии.
- Время жизни системного кода (в сек.) - По истечению этого времени после того, как код был отправлен пользователю (например на почту), пользователь сможет отправить код повторно.
- Длина системного кода - Количество символов, которые содержит системный код, отправленный пользователю.
- Cистемный код состоит только из цифр - флаг, установив который, пользователь будет получать код только из цифр. Это снижает надежность авторизации, но может быть удобно, если, например, у пользователя нет доступа к раскладке с латиницей.
Удаление провайдера аутентификации
Удалить провайдер можно провайдеров аутентификации в меню пользователей.
Выберете из списка провайдер, который хотите удалить и нажмите на иконку удаления .
Если провайдер уже используется кем-то из пользователей, его удаление невозможно.