Email notifications¶
The Onegini IdP sends email messages in order to notify or interact with the user.
Email notifications for personal accounts¶
The following diagram illustrates when particular types of email messages can be sent.
The following table summarises the supported email types:
Email type | Description | Interaction type |
---|---|---|
EMAIL_INVITATION | Invitation to sign-up to the Onegini IdP | User interaction expected |
WELCOME_EMAIL | Introductory message to welcome a new user. | Informative |
EMAIL_NOTIFICATION | Information that person's attributes values has changed. | Informative |
EMAIL_VERIFICATION | The message that serves to confirm ownership of an email address. The message is sent in case the new email address needs to be confirmed. It will be sent to a person that has just signed up in case the email verification is mandatory as well as in case the email address attribute has been changed. | User interaction expected |
EMAIL_STEP_UP | Perform step-up authentication via email. | User interaction expected |
EMAIL_PASSWORD_RESET | Continue password reset process. | User interaction expected |
EMAIL_PASSWORD_RESET_NO_PASSWORD | Information that the password reset cannot be performed because Username and Password identity is not defined. | Informative |
EMAIL_PASSWORD_BLOCKED | Information that a person has been blocked due to exceeded number of invalid login attempts. | Informative |
EMAIL_PERSON_REMOVED | Person account in the Onegini IdP has been removed. | Informative |
Email notifications for administrator accounts¶
Email type | Description | Interaction type |
---|---|---|
ADMIN_BLOCKED | Administrator account has been blocked | Informative |
Email sending integration¶
Email sending requires a gateway to be configured in order to work properly. Onegini IdP supports integration with an SMTP server or - via customized connector - integration with any other system that can send notifications (ex. SAP).
Person attributes parameters¶
In order to customise messages one can use person's attributes that are stored in email template parameters. Regular thymeleaf syntax is used to put those parameters into email's content, e.g.:
<div th:text="${profile.firstName}"></div>
Available attributes are:
parameter name | description |
---|---|
profile | object containing all profile data |
profile.gender | gender |
profile.firstName | person's first name |
profile.lastName | person's last name |
profile.displayName | person's display name |
profile.initials | person's initials |
profile.emails | array containing user's email addresses |
profile.emails[0].value | person's first email address |
profile.emails[0].primary | flag indicates whether person's first email addres is primary |
profile.emails[0].verified | flag indicates whether person's first email addres is verified |
profile.emails[0].tag | tag of person's first email addres |
profile.phoneNumbers | array containing user's phone numbers |
profile.phoneNumbers[0].value | person's first phone number |
profile.phoneNumbers[0].primary | flag indicates whether person's first phone number is primary |
profile.phoneNumbers[0].verified | flag indicates whether person's first phone number is verified |
profile.phoneNumbers[0].tag | tag of person's first phone number |
profile.addresses | array containing user's addresses |
profile.addresses[0].houseNumber | part of person's first address containing information about houseNumber |
profile.addresses[0].houseNumberAddition | part of person's first address containing information about houseNumberAddition |
profile.addresses[0].streetName | part of person's first address containing information about streetName |
profile.addresses[0].postalCode | part of person's first address containing information about postalCode |
profile.addresses[0].city | part of person's first address containing information about city |
profile.addresses[0].region | part of person's first address containing information about region |
profile.addresses[0].country | part of person's first address containing information about country |
profile.addresses[0].companyName | part of person's first address containing information about companyName attention |
profile.addresses[0].attention | part of person's first address containing information about |
profile.addresses[0].primary | part of person's first address containing flag that indicates whether address is primary |
profile.addresses[0].verified | part of person's first address containing flag that indicates whether address is verified |
profile.addresses[0].tag | part of person's first address containing information about it's tag |
profile.dateOfBirth | person's date of birth |
profile.customAttributes | map containing information about person's custom attributes |
Example structure:
{
"profile":{
"gender":"MALE",
"firstName":"John",
"lastName":"Snow",
"displayName":"John Snow",
"initials":"J.S.",
"emails":[
{
"value":"[email protected]",
"primary":true,
"verified":true
}
],
"phoneNumbers":[
{
"value":"+00 123 123 123",
"primary":true,
"verified":true
}
],
"addresses":[
{
"houseNumber":"1",
"streetName":"WallStreet",
"postalCode":"123321",
"city":"Winterfell",
"region":"North",
"country":"WE",
"companyName":"Knows Nothing inc.",
"primary":true,
"verified":true
}
],
"dateOfBirth":"15-03-1813",
"customAttributes":{
"attr1key":"attr1val",
"attr2key":"attr2val"
}
}
}