Advanced Identity Cloud

Message node

The Message node presents a custom, localized message to the user with customizable, localized positive and negative answer buttons the user must click to proceed.

Compatibility

Product Compatible?

Advanced Identity Cloud

Yes

PingAM (self-managed)

Yes

Ping Identity Platform (self-managed)

Yes

Inputs

This node reads preferred locales from the incoming request context.

It doesn’t read from the shared node state.

This node has no required predecessor nodes.

Dependencies

None.

Configuration

Property Usage

Message

Add a custom, localized message per locale:

  1. Click Add.

  2. In the Key field, enter the locale.1

    The incoming HTTP request can include an Accept-Language header indicating the user’s preferred locales. If the incoming HTTP request doesn’t include the header or the preferred locales don’t match any configured locales, the node uses default settings. It uses the Realms > Realm Name > Authentication > Settings > General > Default Authentication Locale setting from the AM admin UI.

  3. In the Value field, enter the message to display to the user.

    If you leave this blank, the message node displays a localized version of Default message to the user.

To edit an entry, click its pencil icon ().

To remove an entry, click its delete icon ().

Positive answer

Add the text per locale for the positive answer button that triggers a True outcome:

  1. Click Add.

  2. In the Key field, enter the locale.1

    If the incoming HTTP request doesn’t include the header or the preferred locales don’t match any configured locales, the node uses the first text in the list.

  3. In the Value field, enter the text to display to the user.

    If you leave this blank, the button displays a localized version of Yes.

To edit an entry, click its pencil icon ().

To remove an entry, click its delete icon ().

Negative answer

Add the text per locale for the negative answer button that triggers a False outcome:

  1. Click Add.

  2. In the Key field, enter the locale.1

    If the incoming HTTP request doesn’t include the header or the preferred locales don’t match any configured locales, the node uses the first text in the list.

  3. In the Value field, enter the text to display to the user.

    If you leave this blank, the button displays a localized version of No.

To edit an entry, click its pencil icon ().

To remove an entry, click its delete icon ().

Shared State Property Name

The name of the node state property.

If set, the node adds the property to shared node state, setting its value to the numeric value of the outcome:

0

The user clicked the positive answer button.

1

The user clicked the negative answer button.

For example, if you set this to messageNodeOutcome and the user clicks the positive answer button, the node adds "messageNodeOutcome": 0 as a shared node state property.

Only Positive Answer

When enabled, the node displays only the positive answer button.

This property only displays when the node is within a Page node.

Show buttons as links

When enabled, the node shows the buttons as links instead.

This property only displays when the node is within a Page node.

1 Specify a locale that Java supports, such as en-gb; otherwise, the node throws a configuration exception with an Invalid locale provided message.

Outputs

When the Shared State Property Name setting has a value, the node adds the property to the shared node state. The property’s value is the numeric value of the outcome:

0

The user clicked the positive answer button.

1

The user clicked the negative answer button.

Outcomes

Returns a boolean outcome:

True

The user clicked the positive answer button.

False

The user clicked the negative answer button.

Errors

This node doesn’t cause authentication to fail unless you connect one of the outcomes to a Failure node.

If the message or answer button settings specify a locale Java doesn’t support, the node throws a configuration exception with an Invalid locale provided message. If this happens, fix the locale setting.

If this node encounters an internal configuration issue, it logs a warning message Error attempting to retrieve the realm/global default locale. If the warning persists, contact ForgeRock Support.

Examples

Use a Message node to:

  • Communicate an important message for the user to acknowledge.

  • Ask a question with a yes/no answer.

The following journey uses the Join VIPs Message Node to prompt the user to join the VIP program:

Inner journey prompting to join the VIP program
  • The Login Count Decision node triggers the Query Filter Decision node after every tenth authentication.

  • The Query Filter Decision node queries the user profile to determine whether they have signed up for the VIP program.

    If the user hasn’t signed up yet, the True outcome triggers the Join VIPs Message Node, which prompts the user to join the program:

    Presenting a true/false question to the user

    Node property settings:

    Message

    en-gb; Do you want to join our VIP program?

    Positive answer

    en-gb; Yes, please!

    Negative answer

    en-gb; No, thanks!

  • If the user clicks Yes, please! the Page node with an embedded Attribute Collector node collects opt-in choices to store in user profile attributes.

  • The Patch Object node updates the user profile with the attributes collected.

Call the journey using an Inner Tree Evaluator node from another authentication journey directly after an Increment Login Count node note:

Calling an inner journey for VIP signup

The VIP Signup Journey uses the login count from the Increment Login Count node in the Login Count Decision node to decide whether to prompt the user to join the VIP program.