Настройки текстов интерфейса#
Текстовые сообщения веб-интерфейса#
Blitz Identity Provider позволяет менять текстовые строки, используемые
в интерфейсе системы. Для этого необходимо отредактировать файл
messages, размещенный в директории /custom_messages/, добавив
строку вида «параметр=значение», где параметр – идентификатор текстовой
строки, а значение – необходимый текст.
Все текстовые строки, используемые Blitz Identity Provider по умолчанию,
сохранены в архиве messages.zip, входящий в состав ПО.
Например, следующая строка отвечает за текст на форме регистрации, где размещена ссылка на условия использования:
reg.page.reg.action.agreement=Нажимая на кнопку «Зарегистрироваться» вы соглашаетесь с <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, или давать ссылку на скачивание различных правил использования ресурса.
Для привязки набора шаблонов к конкретному приложению следует выполнить шаги:
Создать экземпляр файла с текстами, который будет использоваться исключительно для данного приложения. Для этого в директории
custom_messages/создать текстовый файлmessages.ru-special1(messages.en-special1) для данного приложения, гдеspecial1– последовательность из 5-8 символов (допускаются как цифры, так и буквы латинского алфавита).Отредактировать файл
messages.ru-special1(messages.en-special1), добавив в него специфические строки для данного приложения. Все остальные строки будут взяты из базы строк по умолчанию.Отредактировать файл
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" }
Зарегистрировать в разделе
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=Введите фамилию