Общие сведения

Blitz Identity Provider включает в себя ряд сервисов (веб-приложений), с помощью которых пользователи самостоятельно могут выполнять ряд операций:

  1. Личный кабинет – позволяет выполнить ряд операций с учетной записью, например, посмотреть/изменить свои данные, настроить способы аутентификации, посмотреть последние события, сменить пароль. Если включен, то доступен по адресу: {hostname}/blitz/profile.

  2. Регистрация пользователей. Если включен, то пользователи смогут перейти со страницы входа (ссылка «Нет аккаунта? Зарегистрироваться») на форму самостоятельной регистрации.

  3. Восстановление доступа – позволяет пользователю сменить пароль от своей учетной записи. Если сервис включен, то пользователи смогут перейти со страницы входа (ссылка «Забыли пароль?») на форму восстановления доступа.

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

Общие настройки

На главной странице раздела Сервисы самообслуживания можно включить/выключить соответствующие сервисы, используя переключатель (Переключатель). Следует при этом учесть, что переключатель включает/выключает сервисы только в Blitz Identity Provider Standard Edition. Для Enterprise Edition он влияет на отображение ссылок (например, «Забыли пароль?»), тогда как наличие самого сервиса зависит от того, было ли соответствующее приложение установлено администратором.

Кроме того, на главной странице можно настроить ряд общих параметров, применяемых во всех сервисах самообслуживания – параметры кодов подтверждения, отправляемых по SMS и электронной почте:

  • параметры кода подтверждения, отправляемого в SMS – можно изменить длину кода и время его действия;

  • параметры кода подтверждения, отправляемого по электронной почте – можно изменить длину кода и время его действия.

Сервисы самообслуживания и их общие настройки

В подразделах осуществляется настройка каждого сервиса самообслуживания в отдельности.

Личный кабинет

Личный кабинет – веб-приложение, в котором пользователь может выполнить следующие действия:

  • посмотреть или изменить данные своей учетной записи;

  • посмотреть и настроить способы подтверждения входа (двухфакторной аутентификации);

  • посмотреть последние события безопасности (например, события входа);

  • сменить пароль;

  • посмотреть привязанные учетные записи социальных сетей и привязать новые «внешние» учетные записи, отвязать лишние учетные записи;

  • посмотреть привязанные устройства доступа, отвязать лишние устройства.

Настройка личного кабинета включает в себя конфигурирование способа отображения атрибутов пользователя и изменение дополнительных параметров.

Отображение атрибутов пользователя

На основной странице Личного кабинета отображается блок с данными учетной записи. Пример этого блока представлен ниже:.

Личный кабинет: данные учетной записи

Отображение данных пользователя определяется HTML-шаблоном. Шаблон представляет собой текстовый файл, который компилируется с помощью шаблонизатора Twirl . В шаблоне необходимо разместить функции, позволяющие пользователю в Личном кабинете вводить и редактировать данные о себе.

В шаблоне доступны следующие функции:

  • @show(attrName) – отображает значение атрибута;

  • @showStrings(attrName, values) – отображает значение массива;

  • @editAsText(attrName, readableName, errorMsg) – отображает значение атрибута и позволяет его изменить (параметр errorMsg необязательный);

  • @editAsBoolean(attrName, readableName) – отображает значение логического типа (true/false) атрибута и позволяет его изменить;

  • @editAsStrings(attrName, readableName, values) – отображает значение (массив) атрибута и позволяет его изменить.

В этих функциях используются следующие параметры:

  • attrName – название атрибута, определенное в разделе Источники данных;

  • readableName – отображаемое в письме пользователю имя атрибута (можно задать как идентификатор из файла сообщений или как текст);

  • values – значения, представляющие собой формат «ключ – описание», где ключ – значение массива, описание – читаемое значение ключа (например, ListMap("a" -> "значение a", "c" -> "значение c")), может задаваться как идентификатор из файла сообщений или как текст;

  • errorMsg – описание ошибки, которое отображается в случае ошибочного ввода значения (можно задать как идентификатор из файла сообщений или как текст). Про файлы сообщений см. подробнее здесь. Рекомендуется использовать файлы сообщений при необходимости поддержки мультиязычности.

Примеры функций:

Отображение атрибута mail:

@editAsText("mail", "Электронная почта")

Отображение атрибута mobile с возможностью его редактировать:

@editAsText("mobile", "Мобильный телефон", "Ошибка")

Отображение булевого атрибута info с возможностью его редактировать:

@editAsBoolean("info", "Подписка")

Отображение массива строк massiv с возможностью его редактировать (выбор значений):

@editAsStrings("massiv", "Подписки", ListMap("a" -> "Акции и бонусные программы", "b" -> "Новости компании", "c" -> "Дайджест событий за месяц"))

Пример отображения массива строк в интерфейсе Личного кабинета представлен далее:

 Личный кабинет: массив строк (в режиме отображения и редактирования)

Дополнительные параметры

В качестве дополнительных параметров можно задать:

  • шаблон приветствия – информацию, которая отображается в правом верхнем углу Личного кабинета. Допустимо использовать строки подстановки. Например, “${surname} ${surname}” позволит отобразить фамилию и имя пользователя;

  • доступные пользователям функции, т.е. функции, которые могут быть задействованы пользователем из Личного кабинета. Возможно включить/выключить следующие функции:

    • смена пароля;

    • просмотр и привязка социальных сетей;

    • просмотр устройств доступа;

    • привязка HOTP-генераторов;

    • привязка TOTP-генераторов;

    • настройка подтверждения входа по SMS-коду;

    • настройка push-аутентификации.

Регистрация пользователей

Регистрация пользователей – веб-приложение, позволяющее пользователю самостоятельно создать свою учетную запись. Настройка регистрации включает в себя конфигурирование формы регистрации, изменение параметров сервиса и создание процедуры регистрации. В редакции Enterprise сервис регистрации доступен в качестве опции. В редакции Standard сервис доступен по умолчанию, без возможности создавать процедуру регистрации.

Форма регистрации

Перечень запрашиваемых данных пользователя определяется HTML-шаблоном. Шаблон представляет собой текстовый файл, который компилируется с помощью шаблонизатора Twirl. В шаблоне необходимо разместить функции, позволяющие пользователю при регистрации вводить данные о себе.

Примеры функций, доступных в шаблоне:

  • @attrInput("email", msg("reg.email"), Map("placeholder" -> "mail@example.com", "error-messages" -> msg("reg.email.wrong"))) – отображает на странице поле для ввода атрибута email, описанного в системе. msg("reg.email") - это название атрибута, которое берется из файла сообщений в соответствии с текущей локалью. При пустом поле ввода в нем отображается "mail@example.com" в качестве подсказки, а при некорректном вводе – сообщение msg("reg.email.wrong") из файла сообщений;

  • @attrInput("surname", "Фамилия", Map("placeholder" -> "Фамилия", "error-messages" -> "Ошибка")) – отображает на странице поле для ввода фамилии пользователя в переменную surname. Эту переменную далее можно использовать при исполнении процедуры регистрации.

  • @passwordsInput - отображает на странице поля ввода пароля и его подтверждение;

  • @agreement - отображает ссылку на условия использования;

  • @attrExpr – функция, позволяющая создать вычисляемый атрибут (или присвоить атрибуту константное значение);

  • @submitButton - отображает кнопку «Зарегистрироваться».

Пример шаблона для регистрации:

@attrInput("surname", "Фамилия", Map("placeholder" -> "Фамилия", "error-messages" -> "Ошибка"))
@attrInput("name", "Имя", Map("placeholder" -> "Имя", "error-messages" -> "Ошибка"))
@attrInput("mobile", "Номер мобильного телефона", Map("placeholder" -> "+7(999)9999999", "error-messages" -> "reg.page.mobile.req.err.msg"))
@attrInput("mail", "Адрес электронной почты", Map("placeholder" -> "name@example.com", "error-messages" -> "reg.page.email.req.err.msg"))
@passwordsInput
@agreement
@attrExpr("uid","BIP-${&random(4)}")
@submitButton

Пример отображения регистрационной формы

Настройки сервиса регистрации

В качестве настроек можно задать:

  • хранилище для учетной записи – нужно выбрать одно из сконфигурированных хранилищ (раздел Источники данных) для сохранения учетной записи;

  • необходимые для регистрации атрибуты пользователя – атрибуты, наличие которых необходимо для завершения процедуры регистрации. Обязательные атрибуты пользователя не нужно включать в данный список. Возможно добавление нескольких альтернативных правил. Если отмечен чекбокс «Использовать условия из процедуры регистрации», то настроенные условия игнорируются и применяются условия, определенные функцией isEnough из процедуры регистрации.

Скриншот настроек сервиса регистрации

Процедура регистрации

Процедура регистрации – java-код, реализующий необходимые проверки после того, как пользователь заполнит форму регистрации (возможность доступна исключительно в редакции Enterprise в качестве опции).. В ходе исполнения процедуры возможно выполнение следующих действий:

  • выполнение дополнительных проверок введенных данных;

  • выполнение преобразования введенных данных;

  • сохранение значений атрибутов в хранилище;

  • вызов внешних REST-сервисов.

При необходимости преобразовать данные, введенные пользователем, и далее сохранить их в виде атрибутов, в шаблоне страницы регистрации следует использовать функцию @attrInput вместо @textInput.

Восстановление доступа

В редакции Enterprise сервис восстановления доступа доступен в качестве опции.

Настройка сервиса восстановления доступа включает в себя указание контактов (адреса электронной почты и/или номера мобильного телефона), которые будут использованы для восстановления доступа. Эти атрибуты должны быть определены в разделе Источники данных в качестве адреса электронной почты / номера мобильного телефона.

Восстановление доступа