Настройки текстов интерфейса#
Текстовые сообщения веб-интерфейса#
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=Введите фамилию