A simple authentication node for Access Management 7.4.0 and above. This node uses JSON Path to filter or find values inside of a complex JSON Object in the State of the Journey. Can also insert Key: Value pairs into the Shared State or Object Attributes who's Value is a static value or a JSON Path expression. In the outcomes, if a filter matches configured in the Node Attributes; The Node outcome is directed to the path of the configured JSON Path
Key in the journey state containing a value that is a JSON Object
Product | Compatible? |
---|---|
ForgeRock Identity Cloud |
Yes |
ForgeRock Access Management (self-managed) |
Yes |
ForgeRock Identity Platform (self-managed) |
Yes |
To use JSONpath expressions for the Node, use an expression of the form <shared state variable>.$.<path>
for example, given a shared state variable called "myJson" containing this JSON data:
{
"username": "bob",
"firstName": "Bob",
"lastname": "Fleming",
"telephoneNumber": "+1(555)1231234",
"bookingIDs": [ 29872, 23884, 48382 ],
"membershipTier": "platinum"
}
the "firstname" and "lastname" attributes can be selected as myJson.$.firstname
and myJson.$.lastname
respectively.
The last booking ID can be selected as myJson.$.bookingIDs[2]
or myJson.$.bookingIDs[-1]
.
An example to filter all of the membershipTier
's that are platinum
from the myJson
JSON Object into a Key named Priority
into the Shared State
- Key: Priority
- myJson.$.[?(@.membershipTier == 'platinum')]
To insert into Object Attributes start the Key with objectAttributes
followed by .keyName
An example to filter all of the membershipTier
's that are platinum
from the myJson
JSON Object into a Key named Priority
into Object Attributes
- Key: objectAttributes.Priority
- myJson.$.[?(@.membershipTier == 'platinum')]
Full details of JSONpath expressions can be found here.
Property | Usage |
---|---|
Insert into Shared State or Object Attributes | Key - variable name to be inserted into Shared State or Object Attributes. To insert into Object Attributes; use objectAttributes.{key} formatValue - Value to be inserted into Shared State or Object Attributes. Wrap value in "" to insert static value into Shared State. Value can JSON Path value as well |
JSON Path filter to become outcome | If JSON Path filter matches; The node will go to that outcome. More than one matching JSON Path filter will result in the Error outcome |
Key in Shared State or Object Attributes with static value or Json Path expression value
JSON Path
JSON Path filter successfully matched
Default Response
Successfully created a new value in the Shared State with the returned value of the JSON Path expression
Error
An error occurred causing the Node to fail. Check the logs to see more details of the error.