Journey
A journey is the central piece of the orchestration engine and describes the end-to-end user authentication process. It consists of multiple challenges linked together through custom transitions and is modeled as a directed graph.
Example of the Journey:
![](../../__attachments/3281944904/image-20230331-171251.png?inst-v=ffa2d127-74f7-4a38-ac00-bc62b4eb8eb4)
Elements:
The yellow “Play” sign marks the initial starting point for the journey, coinciding with the start of the authentication session.
journey states or session challenges are the blue boxes. They contain the list of authenticators (in journey they are Commands ) from which the user can choose one to respond to the authentication. The list can be filtered at runtime based on what the user actually has enrolled.
Directional arrows are possible transitions that can be followed during the session. The transition Conditions are evaluated during authentications and, based on boolean logic, the one that evaluates to TRUE is the one that will be followed, moving the journey in the next state.
at the end of journey state, the orchestration engine is called to decide what is the next state. For any given input context, exactly one transition needs to evaluate to TRUE in order for the journey to be valid.
end states are the X and Checked symbols. The signal how the journey ended: success or failure.
Adding a State (Challenge)
The first state is the initial one. Click and drag the yellow “Start” box on the canvas.
Drag the Blue Challenge box on the canvas. Having it selected, you can add a name for the challenge and under Commands field, one can add commands are needed for authentication.
![](../../__attachments/3281944904/image-20230531-110105.png?inst-v=ffa2d127-74f7-4a38-ac00-bc62b4eb8eb4)
Transitions
Transitioning from one state to another can be achieved through transitions. Hover over the bottom of the “from” state and observe a blue horizontal line appearing. Click on it and drag to the “to” state.
Having the transition selected, you can choose a name for it and the conditions for it to be selected at runtime.
![](../../__attachments/3281944904/image-20230531-110859.png?inst-v=ffa2d127-74f7-4a38-ac00-bc62b4eb8eb4)
Transition names and Challenges names need to be unique.
Boolean operators
If you select multiple conditions they will all need to evaluate to TRUE in order for the transition to evaluate to TRUE. In other word an AND operation is applied on all of them.
To add an OR operator click on “Add condition set” button and add the desired conditions in the second input box.
![](../../__attachments/3281944904/image-20230531-112132.png?inst-v=ffa2d127-74f7-4a38-ac00-bc62b4eb8eb4)