Настройки текстов интерфейса#

Текстовые сообщения веб-интерфейса#

Blitz Identity Provider позволяет менять текстовые строки, используемые в интерфейсе системы. Для этого необходимо отредактировать файл messages, размещенный в директории /custom_messages/, добавив строку вида «параметр=значение», где параметр – идентификатор текстовой строки, а значение – необходимый текст.

Все текстовые строки, используемые Blitz Identity Provider по умолчанию, сохранены в архиве messages.zip, входящий в состав ПО.

Например, следующая строка отвечает за текст на форме регистрации, где размещена ссылка на условия использования:

reg.page.reg.action.agreement=Нажимая на&nbsp;кнопку &laquo;Зарегистрироваться&raquo; вы&nbsp;соглашаетесь с&nbsp;<a href="{0}" target="_blank">условиями использования</a>

Для корректного отображения файл должен быть сохранен в кодировке UTF-8.

При необходимости изменить английский язык следует добавить в указанную директорию файл messages.en и изменить в нем необходимые файлы.

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

Шаблоны писем и SMS-сообщений#

Шаблоны писем представляют собой текстовые строки, сохраняемые аналогично обычным строкам в веб-интерфейсе. Их изменение производится аналогичным образом.

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

message.$[группа_сообщений].$[тип_сообщения].$[вариация].$[канал].$[часть]

Используются группы сообщения:

  • notif - для информационных сообщений;

  • reg - для взаимодействия с пользователем при регистрации;

  • recovery - для взаимодействия с пользователем при восстановлении доступа;

  • auth - для взаимодействия с пользователем при аутентификации;

  • profile - для взаимодействия с пользователем в Личном кабинете;

  • api - для взаимодействия с пользователем при использовании API.

Типы сообщений из различных групп:

login_unknown_device

Информирование пользователя о входе с неизвестного устройства.

Параметры:

  • device - код устройства;

  • device.msg - название устройства, вычисленное через строку msg(audit.device.$[device]);

  • browser - браузер пользователя;

  • атрибуты из сессии пользователя;

  • ua.name - имя устройства;

  • app.id - идентификатор приложения;

  • app.name - имя приложения;

  • ip - IP-адрес;

  • ip.country - страна;

  • ip.state - регион;

  • ip.city - город;

  • ip.lat - широта;

  • ip.lng - долгота;

  • ip.radius - радиус окрестности;

  • device.type - тип устройства;

  • device.mkey - собранный ключ для сообщений, правило формирования: s"$deviceType.$osName.$osVer";

  • os.name - имя операционной системы;

  • os.ver - версия операционной системы;

  • os.mkey - собранный ключ для сообщений, правило формирования: s"$osName.$osVer";

  • event.time - время события (в unixtime).

В шаблоне сообщения можно использовать следующие функции форматирования:

  • $[<ATTR>&dic(<MSG_KEY_PREFIX>,<PARAM_SUBSTITUTION>)] - получение значения из строки;

  • $[<ATTR>&formatUnixTime(dd MMMM YYYY г.,ru,GMT)] - форматирование даты и времени, где dd MMMM YYYY г. - шаблон в формате SimpleDateFormat, ru - локаль (опционально), GMT - таймзона (опционально).

В шаблоне можно задавать условия на наличие параметров. Следующий пример позволяет отобразить слово Город и значение из параметра ip.city при его наличии, если же ip.city отсутствует, то не будет показано ничего:

$[ip.city+Город: ]$[ip.city-]

Совет

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

link_social_network

Информирование пользователя о присоединении к социальной сети.

Параметры:

  • fp.humanReadableName - название внешнего поставщика идентификации;

  • атрибуты пользователя.

change_pwd

Информирование пользователя о смене пароля.

Параметры:

  • атрибуты пользователя.

changed_pwd_to_object

Информирование о смене пароля в зависимой учетной записи.

Параметры:

  • атрибуты зависимой учетной записи с префиксом obj.

access_recovery

Информирование пользователя о восстановлении пароля

Параметры:

  • атрибуты пользователя.

access_recovery_by_object

Информирование о восстановлении пароля в зависимой учетной записи.

Параметры:

  • атрибуты зависимой учетной записи с префиксом obj.

set_2factor_auth

Информирование пользователя о назначение второго фактора аутентификации.

Параметры:

  • method - код метода аутентификации;

  • method.msg - имя метода аутентификации, полученное через строку msg(message.method.name.$[method];

  • атрибуты пользователя.

granted_access_to

Информирование субъекта о предоставление доступа к объекту.

Параметры:

  • blitz_right - код права доступа;

  • атрибуты субъекта;

  • атрибуты объекта с префиксом obj.

granted_access_on

Информирование объекта о предоставление доступа к нему.

Параметры:

  • blitz_right - код права доступа;

  • атрибуты субъекта;

  • атрибуты объекта с префиксом obj.

revoked_access_to

Информирование субъекта об отзыве доступа к объекту.

Параметры:

  • blitz_right - код права доступа;

  • атрибуты субъекта;

  • атрибуты объекта с префиксом obj.

revoked_access_on

Информирование объекта об отзыве доступа к нему.

Параметры:

  • blitz_right - код права доступа;

  • атрибуты субъекта;

  • атрибуты объекта с префиксом obj.

on_registration

Информирование пользователя о регистрации его учетной записи.

Параметры:

  • _entryPoint_ - канал регистрации;

  • _appId_ - приложение;

  • _requesterId_ - приложение;

  • атрибуты пользователя.

Пример строки:

message.notif.login_unknown_device.email.body=Уважаемый пользователь!<br><br>Мы обнаружили, что вы вошли в систему с нового устройства $[event.time&formatUnixTime(dd MMMM YYYY г.,ru,GMT)]:<br>$[device.mkey&dic(dics.devices,os.ver)], браузер $[ua.name&dic(dics.browsers)]<br>Если вы не совершали это действие, обратитесь к администратору.
vrf_code

Отправка кода подтверждения контакта при регистрации.

Параметры:

  • code - код подтверждения;

  • link - ссылка для подтверждения (только для email);

  • req.ip - IP-адрес;

  • req.userAgent - userAgent пользователя;

  • cfg.domain - домен;

  • атрибуты пользователя из контекста регистрации с префиксом attrs.

set_pwd_link

Отправка ссылки на смену пароля при регистрации (только для канала email).

Параметры:

  • link - ссылка на страницу смены пароля;

  • req.ip - IP- адрес;

  • req.userAgent - userAgent пользователя;

  • cfg.domain - домен;

  • атрибуты пользователя из контекста регистрации с префиксом attrs.

generated_pwd

Отправка назначенного при регистрации пароля (только для канала SMS).

Параметры:

  • pwd - сгенерированный пароль;

  • req.ip - IP-адрес;

  • req.userAgent - userAgent пользователя;

  • cfg.domain - домен атрибуты пользователя из контекста регистрации с префиксом attrs.

vrf_code

Отправка кода подтверждения контакта при восстановлении доступа.

Параметры:

  • code - код подтверждения;

  • link - ссылка для подтверждения (только для email).

vrf_code

Отправка кода подтверждения мобильного номера (каналы: SMS/push).

Параметры:

  • code - код подтверждения.

vrf_code

Отправка кода подтверждения контакта при изменении его в Личном кабинете.

Параметры:

  • attr.msg - наименование атрибута в форме профиля;

  • attr - код атрибута;

  • link - ссылка для подтверждения (только для email);

  • code - код подтверждения.

vrf_code

Вариации:

  • $attr.$rpId - отдельно для данного приложения и атрибута;

  • $attr - отдельно для данного атрибута.

Отправка кода подтверждения контакта через API

Параметры:

  • code - код подтверждения;

  • link - ссылка для подтверждения (только для email);

  • attr.value - новый контакт (e-mail или мобильный телефон);

  • attr - код атрибута контакта.

Вариации позволяют помимо базового шаблона сообщения задать его варианты (например, отдельный шаблон в разрезе приложений). Наличие вариации проверяется по основному шаблону с текстом сообщения (часть body). Если вариация основного шаблона описана в системе, то все остальные шаблоны (email.subject, email.from, push.title) будут применяться с этой же вариацией. Если вариаций несколько, то они будут проверяться в некотором заданном порядке (обычно от большей детализации к меньшей). При отсутствии вариаций будет использован базовый шаблон. В большинстве случаев вариации отсутствуют.

Возможны следующие каналы:

  • sms - отправка сообщений по SMS. Части для этого канала отсутствуют;

  • email - отправка сообщений по электронной почте. Части для этого канала:

    • subject - тема;

    • body - основное содержание;

    • from - отправитель (необязательно);

  • push - отправка push-уведомлений. Части для этого канала:

    • title - тема;

    • body - основное содержание.

Пример ключей для сообщений типа login_unknown_device:

  • message.notif.login_unknown_device.email.subject - тема сообщения по email;

  • message.notif.login_unknown_device.email.body - текст сообщения по email;

  • message.notif.login_unknown_device.email.from - отправитель email сообщения;

  • message.notif.login_unknown_device.sms – текст сообщения по SMS.

Имена устройств и браузеров#

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

  • для браузеров – dics.browsers.<name>. Поддерживаются определение следующих браузеров для подстановки в <name>: Firefox, Opera, Chrome, Safari, IE, Edge, Yandex, Sputnik, unknown. В текст строки в качестве строки подстановки {0} передается версия браузера.

  • для устройств (операционных систем) – dics.devices.<typ>.<os>.<ver>. В качестве <typ> можно указывать: kindle, mobile, tablet, iphone, windowsPhone, pc, ipad, playStation, unknown. В качестве <os> можно указывать: Android, iOS, WindowsPhone, Windows, macOS, Linux, ChromeOS, unknown. Если для <os> и <ver> не определена частная строка, то берется более общая строка. В текст строки в качестве строки подстановки {0} передается версия операционной системы.

Примеры строк:

dics.browsers.Firefox=Firefox Browser {0}
dics.browsers.Opera=Opera {0}
dics.browsers.Chrome=Google Chrome {0}
dics.browsers.Safari=Safari {0}
dics.browsers.IE=Internet Explorer
dics.browsers.Edge=Microsoft Edge {0}
dics.browsers.Yandex=Яндекс.Браузер {0}
dics.browsers.Sputnik=Спутник
dics.devices.mobile=Мобильное устройство
dics.devices.mobile.Android=Android
dics.devices.mobile.Android.10=Android 10
dics.devices.mobile.Android.9=Android 9
dics.devices.tablet=Планшет
dics.devices.iphone=iPhone
dics.devices.iphone.iOS.14=iPhone (iOS {0})
dics.devices.pc.macOS=macOS {0}
dics.devices.pc.macOS.13=macOS Ventura {0}
dics.devices.pc.macOS.12=macOS Monterey {0}
dics.devices.pc.macOS.11=macOS Big Sur {0}
dics.devices.pc.macOS.10.15=macOS Catalina {0}
dics.devices.pc.macOS.10.14=macOS Mojave {0}
dics.devices.pc.macOS.10.13=macOS High Sierra {0}
dics.devices.pc.macOS.10.12=macOS Sierra {0}
dics.devices.pc.Windows.8=Windows 8
dics.devices.pc.Windows.10=Windows 10
dics.devices.pc.Windows.11=Windows 11

Сообщения для разных приложений#

Возможно изменение всех текстовых сообщений и шаблонов таким образом, чтобы использовались специфические тексты/шаблоны для разных приложений. Таким образом можно, например, брендировать письма, отправляемые при регистрации на разных сайтах, подключенных к одной установке Blitz Identity Provider, или давать ссылку на скачивание различных правил использования ресурса.

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

  1. Создать экземпляр файла с текстами, который будет использоваться исключительно для данного приложения. Для этого в директории custom_messages/ создать текстовый файл messages.ru-special1 (messages.en-special1) для данного приложения, где special1 – последовательность из 5-8 символов (допускаются как цифры, так и буквы латинского алфавита).

  2. Отредактировать файл messages.ru-special1 (messages.en-special1), добавив в него специфические строки для данного приложения. Все остальные строки будут взяты из базы строк по умолчанию.

  3. Отредактировать файл blitz.conf следующим образом:

    • в разделе blitz.prod.local.idp.apps файла найти идентификатор приложения, который должен использовать созданный файл шаблона;

    • добавить в настройки приложения параметр вида "lang-variant" : "special1", где special1 – использованная для маркировки шаблона последовательность символов.

    Пример:

    "demo-application" : {
        "domain" : "http://testdomain.ru",
        "lang-variant" : "special1",
        "name" : "test",
        "oauth" : {
            "autoConsent" : false,
            "clientSecret" : "1234567890",
            "defaultScopes" : [],
            "enabled" : true,
            "redirectUriPrefixes" : [
                "http://localhost"
            ]
        },
        "theme" : "default"
    }
    
  4. Зарегистрировать в разделе blitz.prod.local.idp.lang в настройке lang-variant все используемые для маркировки различных приложений последовательности символов (special1, special2).

После этого при входе в приложение будет использоваться специально созданный файл сообщений.

Сообщения вспомогательных приложений (pipes)#

В Blitz Identity Provider можно настроить сообщения вспомогательного приложения, выпускающего ключ безопасности (Passkey, WebAuthn, FIDO2) при входе пользователя. Можно настроить разные тексты сообщений в зависимости от устройств (операционных систем), используемых пользователем. Для этого в нужно создать в директории custom_messages в файле messages строки, имена которых соответствуют следующим паттернам:

  • pipes.conf.webAuthn.addKey.<message-path>.<device-type>.<os>;

  • login.outside.flow.error.internal.webAuthn.addKey.<device-type>.<os>.

В качестве <message-path> указывается имя строки (см. ниже пример). В качестве <device-type> указывается тип устройства: mobile, tablet, iphone, pc, ipad. В качестве <os> можно указывать: Android, iOS, Windows, macOS, Linux, ChromeOS. Если для <device-type> и <os> не определена частная строка, то берется более общая строка.

Примеры строк:

pipes.conf.webAuthn.addKey.page.title.pc.macOS=Вход по Touch ID
pipes.conf.webAuthn.addKey.head.title.pc.macOS=Вход по Touch ID
pipes.conf.webAuthn.addKey.info.pc.macOS=Использовать Touch ID или пароль компьютера Mac для входа в приложения?
pipes.conf.webAuthn.addKey.finishInfo.pc.macOS=Вход по Touch ID для учетной записи настроен. Нажмите кнопку "Продолжить"
pipes.conf.webAuthn.addKey.name.pc.macOS=Touch ID на Mac
login.outside.flow.error.internal.webAuthn.addKey.pc.macOS=Произошла ошибка при настройке входа по Touch ID на Mac

pipes.conf.webAuthn.addKey.page.title.pc.Windows=Вход через Windows Hello
pipes.conf.webAuthn.addKey.head.title.pc.Windows=Вход через Windows Hello
pipes.conf.webAuthn.addKey.info.pc.Windows=Использовать PIN-код компьютера, распознавание лица или отпечатка пальца для входа в приложения?
pipes.conf.webAuthn.addKey.finishInfo.pc.Windows=Вход через Windows Hello для учетной записи настроен. Нажмите кнопку "Продолжить"
pipes.conf.webAuthn.addKey.name.pc.Windows=Windows Hello
login.outside.flow.error.internal.webAuthn.addKey.pc.Windows=Произошла ошибка при настройке входа через Windows Hello

pipes.conf.webAuthn.addKey.page.title.iphone.iOS=Вход по Face ID
pipes.conf.webAuthn.addKey.head.title.iphone.iOS=Вход по Face ID
pipes.conf.webAuthn.addKey.info.iphone.iOS=Использовать Face ID или Touch ID телефона для входа в приложения?
pipes.conf.webAuthn.addKey.finishInfo.iphone.iOS=Вход через Face ID для учетной записи настроен. Нажмите кнопку "Продолжить"
pipes.conf.webAuthn.addKey.name.iphone.iOS=Face ID на iPhone
login.outside.flow.error.internal.webAuthn.addKey.iphone.iOS=Произошла ошибка при настройке входа через Face ID

pipes.conf.webAuthn.addKey.page.title.ipad.iOS=Вход по Touch ID
pipes.conf.webAuthn.addKey.head.title.ipad.iOS=Вход по Touch ID
pipes.conf.webAuthn.addKey.info.ipad.iOS=Использовать Touch ID планшета для входа в приложения?
pipes.conf.webAuthn.addKey.finishInfo.ipad.iOS=Вход через Touch ID для учетной записи настроен. Нажмите кнопку "Продолжить"
pipes.conf.webAuthn.addKey.name.ipad.iOS=Touch ID на iPad
login.outside.flow.error.internal.webAuthn.addKey.ipad.iOS=Произошла ошибка при настройке входа через Touch ID

pipes.conf.webAuthn.addKey.page.title.mobile.Android=Вход по распознаванию лица или отпечатка пальца
pipes.conf.webAuthn.addKey.head.title.mobile.Android=Вход по распознаванию лица или отпечатка пальца
pipes.conf.webAuthn.addKey.info.mobile.Android=Использовать распознавание лица или отпечатка пальца для входа в приложения?
pipes.conf.webAuthn.addKey.finishInfo.mobile.Android=Вход через распознавание лица или отпечатка пальца для учетной записи настроен. Нажмите кнопку "Продолжить"
pipes.conf.webAuthn.addKey.name.mobile.Android=Smart Lock на Android
login.outside.flow.error.internal.webAuthn.addKey.mobile.Android=Произошла ошибка при настройке входа через распознавание лица или отпечатка пальца

pipes.conf.webAuthn.addKey.page.title=Вход по ключу безопасности
pipes.conf.webAuthn.addKey.head.title=Вход по ключу безопасности
pipes.conf.webAuthn.addKey.info=Использовать ключ безопасности FIDO2 для входа в приложения?
pipes.conf.webAuthn.addKey.finishInfo=Вход через ключ безопасности для учетной записи настроен. Нажмите кнопку "Продолжить"
pipes.conf.webAuthn.addKey.name=FIDO2

В Blitz Identity Provider можно настроить тексты для вспомогательного приложения, показывающего пользователю сообщение при входе в приложение. Для этого нужно определить в директории custom_messages в файле messages строки для настроенных в blitz.prod.local.idp.built-in-pipes.info приложений с их {id} вспомогательного приложения.

Пример строк:

  • pipes.info.head.title.{id}: название вкладки

  • pipes.info.page.title.{id}: заголовок вспомогательного приложения

  • pipes.info.message.{id}: текст сообщения

  • pipes.info.read.{id}: название кнопки (для вспомогательных приложений с типом «news»)

  • pipes.info.agree.{id}: название первой кнопки (для вспомогательных приложений с типом «agreement»)

  • pipes.info.disagree.{id}: название второй кнопки (для вспомогательных приложений с типом «agreement»)

В Blitz Identity Provider можно настроить тексты для вспомогательного приложения, запрашивающего у пользователя при входе выбор значения из списка и сохраняющего результат выбора в атрибут учетной записи. Для этого нужно определить в директории custom_messages в файле messages строки для настроенных в blitz.prod.local.idp.built-in-pipes.choice приложений с их {id} вспомогательного приложения.

Пример строк:

  • pipes.choice.head.title.{id}: название вкладки

  • pipes.choice.page.title.{id}: заголовок вспомогательного приложения

  • pipes.choice.info.{id}: текст информации под заголовком

  • pipes.choice.button.{id}.{choiceId}: текст на кнопке выбора

  • pipes.choice.skip: текст на кнопке пропуска

В Blitz Identity Provider можно настроить тексты для вспомогательного приложения, запрашивающего у пользователя при входе в приложение ввод значения атрибута. Для этого нужно определить в директории custom_messages в файле messages строки, соответствующие следующему паттерну – pipes.act.attr. <message-path>.common.<attr-name>. В качестве <message-path> указывается имя строки (см. ниже пример). В качестве <attr-name> указывается имя атрибута.

Примеры строк (в случае заполнения атрибута family_name):

pipes.act.attr.page.title.common.family_name=Подтверждение фамилии
pipes.act.attr.head.title.common.family_name=Подтверждение фамилии
pipes.act.attr.info.confirm.common.family_name=В учетной записи указана ваша фамилия?<br>Проверьте и нажмите кнопку <b>Подтвердить</b>.
pipes.act.attr.info.enter.common.family_name=В учетной записи не указана фамилия.<br>Введите и нажмите кнопку <b>Подтвердить</b>.
pipes.act.attr.label.common.family_name=Фамилия
pipes.act.attr.msg.required.msg.common.surname=Введите фамилию