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.

Email notifications

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":"johnsnow@example.com",
            "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"
      }
   }
}