Skip to content

ForgeRock/tntp-jsonpath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSONPath

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

Inputs

Key in the journey state containing a value that is a JSON Object

Compatibility

Product Compatible?

ForgeRock Identity Cloud

Yes

ForgeRock Access Management (self-managed)

Yes

ForgeRock Identity Platform (self-managed)

Yes

How to use

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.

Configuration

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} format
Value - 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

Outputs

Key in Shared State or Object Attributes with static value or Json Path expression value

Outcomes

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.

Examples

ScreenShot

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages