Interface text settings#

Multilanguage support#

Blitz Identity Provider web interface supports multi-language. Two languages are provided by default - Russian and English.

By default, the interface is displayed to the user in the language that corresponds to their system language in the OS and their preferred language in the browser. In this case, you can switch the language by changing the primary input language (the language in which web pages are displayed) in the browser you are using. For example, to change the language in the Chrome browser, follow the steps:

  • go to the browser settings (chrome://settings/);

  • select Show additional settings;

  • click on the Change language preferences button;

  • move the desired language to the first place in the list.

To change the language in Firefox browser, you need to follow the steps:

  • go to the browser settings (about:preferences);

  • select the General section of the settings;

  • in the Language subsection, press the Select button;

  • move the desired language to the first position in the list:

Additionally, it is possible to configure the language using the blitz.conf configuration file. To do this, edit the language setting section blitz.prod.local.idp.lang with the following parameters:

  • languages - list of available languages. The first language in the list is considered to be the default language;

  • portal-lang-cookie - name (name) and setting domain (domain) of the cookie with the current portal language (optional). If a portal cookie is set, the language change in Blitz Identity Provider is stored in the specified cookie;

  • ignore-browser - whether or not the browser language ignore mode is turned off;

  • lang-variantslist of identifiers for special sets of strings for individual applications.

The example of configuration file excerpt:

"lang" : {
  "ignore-browser" : true,
  "languages" : [
    "ru",
    "en"
  ],
  "lang-variants": ["special1", "special2"],
  "portal-lang-cookie" : {
    "domain" : "domain.com",
    "name" : "blitzlng"
  }
}

Thus, for example, if the use of the English interface language is not required, it can be removed from the languages parameter.

Web interface texts#

Blitz Identity Provider allows you to change text strings used in the system interface. To do this, you need to edit the messages file located in the /custom_messages/ directory by adding a string like “parameter=value”, where parameter is the text string identifier and value is the required text.

All text strings used by Blitz Identity Provider by default are saved in the messages.zip archive included with the software.

For example, the following string is responsible for the text in the registration form that contains URL to the User agreement:

reg.page.reg.action.agreement=By clicking&nbsp; &laquo;Register&raquo; you&nbsp;agree with the с&nbsp;<a href="{0}" target="_blank">Terms of Use</a>

The file must be saved in UTF-8 encoding in order to display correctly.

If you need to change the English language, add the messages.en file to the specified directory and change the necessary files in it.

If you want to use the @ character in texts, you must enter it twice.

Email and SMS templates#

Email templates are text strings saved in the same way as regular strings in the web interface. They are modified in the same way.

The unified format of message codes is used, which has the following form:

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

Following message groups are used:

  • notif - for notifications;

  • reg - for interaction with the user during registration;

  • recovery - for interaction with the user when restoring access;

  • auth - for interaction with the user during authentication;

  • profile - for interaction with the user in the User profile;

  • api - for interaction with the user when using API.

Message types from different groups:

login_unknown_device

User notification about the login from unknown device.

Parameters:

  • device - code of the device;

  • device.msg - name of the device computed with msg(audit.device.$[device]);

  • browser - user browser;

  • user session attributes;

  • ua.name - device name;

  • app.id - application identifier;

  • app.name - application name;

  • ip – IP-address;

  • ip.country - country;

  • ip.state - region;

  • ip.city - city;

  • ip.lat - latitude;

  • ip.lng - longitude;

  • ip.radius - radius of the neighborhood;

  • device.type - device type;

  • device.mkey - collected key for messages, formation rule: s"$deviceType.$osName.$osVer";

  • os.name - operating system name;

  • os.ver - operating system version;

  • os.mkey - collected key for messages, formation rule: s”$osName.$osVer”;

  • event.time is the time of the event (in unixtime).

You can use the following formatting features in a message template:

  • $[<ATTR>&dic(<MSG_KEY_PREFIX>,<PARAM_SUBSTITUTION>)] - get value from string;

  • $[<ATTR>&formatUnixTime(dd MMMM YYYYY year,ru,GMT)] - date and time formatting, where dd MMMM YYYYY - template in SimpleDateFormat format, ru - locale (optional), GMT - timezone (optional).

In the template, you can set conditions for the presence of parameters. The following example allows you to display the word City and the value from the parameter ip.city if available, if ip.city is missing, then nothing will be shown:

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

Tip

For the example to work, create and activate the login procedure extracting user’s geodata.

link_social_network

User notification about linking to social network.

Parameters:

  • fp.humanReadableName - name of the external identity provider;

  • user attributes.

change_pwd

User notification about password change.

Parameters:

  • user attributes.

changed_pwd_to_object

User notification about password change in dependent account.

Parameters:

  • attributes of the dependent account with obj prefix.

access_recovery

User notification about password recovery

Parameters:

  • user attributes.

access_recovery_by_object

User notification about password recovery in dependent account.

Parameters:

  • attributes of the dependent account with obj prefix.

set_2factor_auth

User notification of the assignment of the second authentication factor.

Parameters:

  • method - authentication method code;

  • method.msg - authentication method name computed by the msg(message.method.name.$[method] string;

  • user attributes.

granted_access_to

Subject notification about granted access to the object.

Parameters:

  • blitz_right - access rights code;

  • subject attributes;

  • object attributes with the obj prefix

granted_access_on

Object notification about granted access to it.

Parameters:

  • blitz_right - access rights code;

  • subject attributes;

  • object attributes with the obj prefix

revoked_access_to

Subject notification about revoked access to the object.

Parameters:

  • blitz_right - access rights code;

  • subject attributes;

  • object attributes with the obj prefix

revoked_access_on

Object notification about revoked access to it.

Parameters:

  • blitz_right - access rights code;

  • subject attributes;

  • object attributes with the obj prefix

on_registration

User notification about registration of his/her account.

Parameters:

  • _entryPoint_ - registration channel;

  • _appId_ – application;

  • _requesterId_ – application;

  • user attributes.

Example line:

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

Sending contact confirmation code during registration.

Parameters:

  • code – confirmation code;

  • link– confirmation link (only for email channel);

  • req.ip – IP-address;

  • req.userAgent - userAgent of the user;

  • cfg.domain - domain;

  • user attributes from the registration context with the prefix attrs.

set_pwd_link

Sending the link to change password during registration (only for email channel).

Parameters:

  • link - link to password change page;

  • req.ip – IP-address;

  • req.userAgent - userAgent of the user;

  • cfg.domain - domain;

  • user attributes from the registration context with the prefix attrs.

generated_pwd

Sending the assigned registration password (only for SMS channel).

Parameters:

  • pwd - generated password;

  • req.ip – IP-address;

  • req.userAgent - userAgent of the user;

  • cfg.domain - domain attributes of the user from the registration context with the prefix attrs.

vrf_code

Sending contact confirmation code during access recovery.

Parameters:

  • code – confirmation code;

  • link– confirmation link (only for email channel).

vrf_code

Sending mobile number confirmation code (channels: SMS/push).

Parameters:

  • code – confirmation code.

vrf_code

Sending confirmation code if it was changed in User profile.

Parameters:

  • attr.msg - name of the attribute in the profile form;

  • attr – attribute code;

  • link– confirmation link (only for email channel);

  • code – confirmation code.

vrf_code

Variations:

  • $attr.$rpId – separately for current application and attribute;

  • $attr - separately for this attribute.

Sending contact confirmation code via API

Parameters:

  • code – confirmation code;

  • link– confirmation link (only for email channel);

  • attr.value - new contact (e-mail or cell phone);

  • attr – contact attribute code.

Variations allow you to specify variations in addition to the basic message template (for example, a separate template by application). The presence of a variation is checked by the basic template with the message text (body part). If the variation of the main template is described in the system, all other templates (email.subject, email.from, push.title) will be applied with the same variation. If there are multiple variations, they will be checked in some specified order (usually from more detail to less detail). If there are no variations, the base template will be used. In most cases there are no variations.

The following channels are available:

  • sms - sending messages by SMS. There are no parts for this channel;

  • email - sending messages by email. Parts for this channel:

    • subject - subject;

    • body - main content;

    • from - sender (optional);

  • push - sending push notifications. Parts for this channel:

    • title - subject;

    • body - main content.

Example keys for login_unknown_device messages type:

  • message.notif.login_unknown_device.email.subject - subject of the email message;

  • message.notif.login_unknown_device.email.body - text of the email message;

  • message.notif.login_unknown_device.email.from - sender of the email message;

  • message.notif.login_unknown_device.sms - SMS text.

Device and browser names#

In Blitz Identity Provider you can customize the names of devices (operating systems) and browsers with exact version. To do this, you need to create lines in the custom_messages directory in the messages file whose names correspond to the following patterns:

  • for browsers - dics.browsers.<name>. The following browsers are supported for substitution into <name>: Firefox, Opera, Chrome, Safari, IE, Edge, Yandex, Sputnik, unknown. The text of the string receives the browser version as a substitution string {0}.

  • for devices (operating systems) - dics.devices.<typ>.<os>.<ver>. As <typ> you can specify: kindle, mobile, tablet, iphone, windowsPhone, pc, ipad, playStation, unknown. As <os> you can specify: Android, iOS, WindowsPhone, Windows, macOS, Linux, ChromeOS, unknown. If no private string is defined for <os> and <ver>, the more general string is taken. The operating system version is passed into the string text as a {0} substitution string.

Example lines:

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.devices.mobile=Mobile device
dics.devices.mobile.Android=Android
dics.devices.mobile.Android.10=Android 10
dics.devices.mobile.Android.9=Android 9
dics.devices.tablet=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

Messages for different applications#

It is possible to modify all text messages and templates in order to use specific texts/templates for different applications. For example, you can brand emails sent during registration on different websites connected to the same Blitz Identity Provider installation, or provide a link to download different resource rules.

To bind a set of templates to a specific application, follow the steps:

  1. Create a text file copy that should be used only for this application. To do this, create a text file messages.ru-special1 (messages.en-special1) in the custom_messages/ directory for this application, in which special1 is a sequence of 5-8 characters (both numbers and letters of the Latin alphabet are allowed).

  2. Edit the messages.ru-special1 (messages.en-special1) file to add application-specific strings. All other strings will be taken from the default string database.

  3. Edit the blitz.conf file as follows:

    • in the blitz.prod.local.idp.apps section of the file, find the application ID that should use the created template file;

    • add a parameter to the application settings in the ”lang-variant” : “special1” format, in which special1 is the character sequence used to label the template.

    Example:

    "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. In the blitz.prod.local.idp.lang -> lang-variant setting, register all character sequences used to label various applications (special1, special2).

After that, a specially created message file will be used when logging into this application.

Auxiliary application messages (pipes)#

In Blitz Identity Provider, you can configure the messages of the helper application that issues the security key (Passkey, WebAuthn, FIDO2) at user login. You can configure different message texts depending on the user’s devices (operating systems). To do this, create strings in the custom_messages directory in the messages file whose names correspond to the following patterns:

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

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

As <message-path> the string name is specified (see example below). The <device-type> specifies the device type: mobile, tablet, iphone, pc, ipad. As <os> you can specify: Android, iOS, Windows, macOS, Linux, ChromeOS. If no private string is defined for <device-type> and <os>, the more general string is taken.

Example lines:

pipes.conf.webAuthn.addKey.page.title.pc.macOS=Log in with Touch ID
pipes.conf.webAuthn.addKey.head.title.pc.macOS=Log in with Touch ID
pipes.conf.webAuthn.addKey.info.pc.macOS=Use Touch ID or MacOS password to log in to applications?
pipes.conf.webAuthn.addKey.finishInfo.pc.macOS=Log-in with Touch ID is configured for your account. Click Next
pipes.conf.webAuthn.addKey.name.pc.macOS=Touch ID on Mac
login.outside.flow.error.internal.webAuthn.addKey.pc.macOS=Error when configuring log-in with Touch ID

pipes.conf.webAuthn.addKey.page.title.pc.Windows=Log in with Windows Hello
pipes.conf.webAuthn.addKey.head.title.pc.Windows=Log in with Windows Hello
pipes.conf.webAuthn.addKey.info.pc.Windows=Use PIN, facial recognition, or a fingerprint to log in to applications?
pipes.conf.webAuthn.addKey.finishInfo.pc.Windows=Log-in with Windows Hello is configured for your account. Click Next
pipes.conf.webAuthn.addKey.name.pc.Windows=Windows Hello
login.outside.flow.error.internal.webAuthn.addKey.pc.Windows=Error when configuring log-in with Windows Hello

pipes.conf.webAuthn.addKey.page.title.iphone.iOS=Log in with Face ID
pipes.conf.webAuthn.addKey.head.title.iphone.iOS=Log in with Face ID
pipes.conf.webAuthn.addKey.info.iphone.iOS=Use Face ID or Touch ID on the phone to log in to applications?
pipes.conf.webAuthn.addKey.finishInfo.iphone.iOS=Log-in with Face ID is configured for your account. Click Next
pipes.conf.webAuthn.addKey.name.iphone.iOS=Face ID на iPhone
login.outside.flow.error.internal.webAuthn.addKey.iphone.iOS=Error when configuring log-in with Face ID

pipes.conf.webAuthn.addKey.page.title.ipad.iOS=Log in with Touch ID
pipes.conf.webAuthn.addKey.head.title.ipad.iOS=Log in with Touch ID
pipes.conf.webAuthn.addKey.info.ipad.iOS=Use Touch ID on iPad to log in to applications?
pipes.conf.webAuthn.addKey.finishInfo.ipad.iOS=Log-in with Touch ID is configured for your account. Click Next
pipes.conf.webAuthn.addKey.name.ipad.iOS=Touch ID on iPad
login.outside.flow.error.internal.webAuthn.addKey.ipad.iOS=Error when configuring log-in with Touch ID

pipes.conf.webAuthn.addKey.page.title.mobile.Android=Log in with facial recognition or fingerprint
pipes.conf.webAuthn.addKey.head.title.mobile.Android=Log in with facial recognition or fingerprint
pipes.conf.webAuthn.addKey.info.mobile.Android=Use facial recognition or fingerprint to log in to applications?
pipes.conf.webAuthn.addKey.finishInfo.mobile.Android=Log-in with facial recognition or fingerprint is configured. Click Next
pipes.conf.webAuthn.addKey.name.mobile.Android=Smart Lock on Android
login.outside.flow.error.internal.webAuthn.addKey.mobile.Android=Error when configuring log-in with facial recognition or fingerprint

pipes.conf.webAuthn.addKey.page.title=Log in with security key
pipes.conf.webAuthn.addKey.head.title=Log in with security key
pipes.conf.webAuthn.addKey.info=Use the FIDO2 security key to log in to applications?
pipes.conf.webAuthn.addKey.finishInfo=Log-in with security key is configured for your account. Click Next
pipes.conf.webAuthn.addKey.name=FIDO2

In Blitz Identity Provider, you can configure texts for an auxiliary application that shows a message to the user while login to the application. To do this, define in the custom_messages directory in the messages file the strings for the customized blitz.prod.local.idp.built-in-pipes.info applications with their {id} of the helper application.

Example lines:

  • pipes.info.head.title.{id}: tab name

  • pipes.info.page.title.{id}: title of the auxiliary application

  • pipes.info.message.{id}: message text

  • pipes.info.read.{id}: button name (for auxiliary applications with the “news” type)

  • pipes.info.agree.{id}: the name of the first button (for auxiliary applications with the “agreement” type)

  • pipes.info.disagree.{id}: name of the second button (for auxiliary applications with the “agreement” type)

You can customize texts in Blitz Identity Provider for a helper application that asks the user to select a value from a list at user’s login and stores the result of the selection in an account attribute. To do this, define in the custom_messages directory in the messages file the strings for the configured blitz.prod.local.idp.built-in-pipes.choice applications with their {id} of the helper application.

Example lines:

  • pipes.choice.head.title.{id}: tab name

  • pipes.choice.page.title.{id}: title of the auxiliary application

  • pipes.choice.info.{id}: text of the information under the title

  • pipes.choice.button.{id}.{choiceId}: text on the selection button

  • pipes.choice.skip: text on the skip button

You can customize texts in Blitz Identity Provider for an auxiliary application that asks the user to enter an attribute value at application login. To do this, define lines in the custom_messages directory in the messages file that correspond to the following pattern - pipes.act.attr. <message-path>.common.<attr-name>. The string name is specified as <message-path> (see below for an example). The attribute name is specified as <attr-name>.

Example strings (in case the family_name attribute is filled):

pipes.act.attr.page.title.common.family_name=Confirm your last name
pipes.act.attr.head.title.common.family_name=Confirm your last name
pipes.act.attr.info.confirm.common.family_name=Is this your last name?<br>If so, click <b>Confirm</b>.
pipes.act.attr.info.enter.common.family_name=Your account doesn't contain the last name.<br>Specify it and click <b>Confirm</b>.
pipes.act.attr.label.common.family_name=Last name
pipes.act.attr.msg.required.msg.common.surname=Enter your last name