An expression that determins if this authenicator should be executed or not. If left unconfigured, the authenticator will execute.
N/A
auto_select
Automatic selection if only one option is available.
false
webroot_dir
See common authenticator configuration
web/authenticator/impersonate_selector
custom_identifier
Tag used for event separation
N/A
// Use case - To act on behalf of someone else// Supported by default together with Fortified ID Password reset same Fortified ID Enrollment.// Function is supported to be used for any SAML SP application.{"id":"impersonate","type":"Impersonate","display_name":"Impersonate","config":{"base_path":"${globals.default_login_suffix}","expiry":"PT1S","overlay_dir":"${globals.default_overlay_dir}","exec_if":"mv.containsAny(exports.spEntityID, 'https://dev.fortifiedid.se/pwdreset/', 'https://dev.fortifiedid.se/enrollment/')","pipe_id":"impersonate_selector_pipe","values":[{"key":"displayName","label":"label1"},{"key":"sAMAccountName","label":"label2"},{"key":"mail","label":"label3"}],"show_filtering":true,"include_self":true,"custom_identifier":"FortifiedID_Test","identifier_attribute":"mail","selected_id_parameter":"object_id"},"description":"The Impersonate selector is responsible for presenting a list of objects (in a grid) for the user to select from."}
Values
The values array represents the columns to be shown in the grid.
Name
Description
Default
Mandatory
key
Item parameter. The value will be presented in the column for each object.
label
Column label translation key.
Data exposed to global state
When a value is selected, the Impersonate authenticator is marked as done and populates the configured selected_id_parameter property with the identifier value obtained from the selection.
Logging
WEB_100040("Impersonate selector completed")
IDENTIFIER (user trace id)
CUSTOMER_IDENTIFIER (if configured)
SOURCE_USER_NAME (id of selected object if anything selected, pipe not empty)
SOURCE_ADDRESS (ip of the remote session)
AUTHENTICATOR_ID (id + display_name of authenticator)
Selector authenticators supports the following messages:
Init (request+response)
Init message must be sent before/during the view is loading. Response contains the options that should be presented to the user.
Init may be called while authenticator is in progress under the following circumstances:
Callback from selected authenticator
Browser reload (user refreshes page)
Browser back (user cancels selected authenticator and navigates back)
Reason
Description
Selected authenticator failed
The selected authenticator failed.
Unknown status: <status>
The selected authenticator has an unknown status (Not PENDING, IN_PROGRESS, COMPLETED or FAILED)
Invalid status: <status>
Protocol error. Init called when authenticator is not in status PENDING or IN_PROGRESS.
Action (request+response)
The action message is used for selecting an option. This message is triggered by a user action.
Reason
Description
Invalid option: <option-id>
An invalid option-id was supplied. Only option-ids from init are valid.
Invalid state
Protocol error. Operation is called in an invalid state, for example if action is called before init.
Complete (response)
The complete response message is sent when the authentication has completed. If message contains a location property; view must redirect user agent to the supplied location.
// Use case - Choose persona
// If your login is associated with multiple accounts, select the account you want to log in with.
{
"id": "choose_persona",
"type": "Impersonate",
"display_name": "Choose persona",
"config": {
"base_path": "${globals.default_login_suffix}",
"expiry": "PT1S",
"overlay_dir": "${globals.default_overlay_dir}",
"pipe_id": "choose_persona_pipe",
"auto_select": true,
"values": [
{
"key": "displayName",
"label": "ChoosePersonaName"
},
{
"key": "sAMAccountName",
"label": "ChoosePersonaUserID"
},
{
"key": "mail",
"label": "ChoosePersonaMail"
}
],
"show_filtering": true,
"include_self": false,
"custom_identifier": "FortifiedID_Test",
"identifier_attribute": "mail",
"selected_id_parameter": "mail"
},
"description": "The Impersonate selector is responsible for presenting a list of objects (in a grid) for the user to select from."
}
{
"impersonate_selector.header": "Choose",
"impersonate_selector.paragraph": "Choose a user to impersonate",
"impersonate_selector.label1": "Label 1",
"impersonate_selector.label2": "Label 2",
"impersonate_selector.label3": "Label 3",
"impersonate_selector.label4": "Label 4",
"impersonate_selector.label5": "Label 5",
"impersonate_selector.label6": "Label 6",
"impersonate_selector.label7": "Label 7",
"impersonate_selector.label8": "Label 8",
"impersonate_selector.label9": "Label 9",
"impersonate_selector.label10": "Label 10",
"impersonate_selector.error": "An error occured",
"impersonate_selector.cancel": "Cancel",
"impersonate_selector.self_button": "Login as myself",
"allow-cookies-body": "To save your language settings on this device you need to approve a language cookie.",
"allow-cookies-button": "Approve language cookie",
"authentication.help_text": "",
"table.page": "Page {{pageIndex}} of {{pageCount}}",
"change_language": ""
}
{
"impersonate_selector.header": "Välj",
"impersonate_selector.paragraph": "Välj en användare att logga in som",
"impersonate_selector.label1": "Rubrik 1",
"impersonate_selector.label2": "Rubrik 2",
"impersonate_selector.label3": "Rubrik 3",
"impersonate_selector.label4": "Rubrik 4",
"impersonate_selector.label5": "Rubrik 5",
"impersonate_selector.label6": "Rubrik 6",
"impersonate_selector.label7": "Rubrik 7",
"impersonate_selector.label8": "Rubrik 8",
"impersonate_selector.label9": "Rubrik 9",
"impersonate_selector.label10": "Rubrik 10",
"impersonate_selector.error": "Ett fel har inträffat",
"impersonate_selector.cancel": "Avbryt",
"impersonate_selector.self_button": "Logga in som mig själv",
"allow-cookies-body": "Vill du spara dina språkinställningar på denna enhet behövs ett godkännande av språk-cookie.",
"allow-cookies-button": "Godkänn språk-cookie",
"table.page": "Sida {{pageIndex}} av {{pageCount}}",
"authentication.help_text": "",
"change_language": ""
}