Verification method selector
Allow users to choose their preferred identity verification method
Display a list of identity verification methods to the user. The user will be directed to the verification method of their choice.
Key features
- User-driven selection: Shows the user a selection page with the available verification methods.
- Category-based routes: Creates output routes based on the category of the selected method (e.g.
eIDs,doc-idv), not per individual method. - Method assets: Each method includes display assets (label, image, optional sublabel).
- Flexible routing: No constraints on the type of step that can be associated with transitions.
Configuration
| Attribute | Type | Required | Description |
|---|---|---|---|
methods | array | Yes | Flat list of verification method objects to present to the user. Minimum 1 entry. The Player renders one selectable option per entry, in declaration order. |
methods[].method | string | Yes | Method identifier. eID methods: franceIdentite, personalausweis, lIdentiteNumeriqueLaPoste, spid, itsme, lithuanianMobileId, mojeIdPl, idin, smartId, mitId, norwegianBankId, estonianIdCard, latvianIdCard, lithuanianIdCard, finnishTrustNetwork, frejaEid, belgiumIdCard, edoApp, eParakstsMobile, portugueseIdCard, finnishHenkilokortti, serbianIdCard, swedishBankId. Document IDV: doc_idv. EUDI wallet: eudi_wallet. |
methods[].assuranceLevel | string | No | Per-method assurance level override. Accepted values: low, substantial, high. Falls back to eIds.assuranceLevel for eID methods when not set. |
methods[].trustFramework | string | No | Per-method trust framework override. Accepted values: eidas. Falls back to eIds.trustFramework for eID methods when not set. |
eIds | object | No | Default assurance configuration applied to all eID methods that do not carry their own assuranceLevel / trustFramework. |
eIds.assuranceLevel | string | No | Default assurance level for eID methods. Accepted values: low, substantial, high. |
eIds.trustFramework | string | No | Default trust framework for eID methods. Accepted values: eidas. |
enableRetry | boolean | No | When true, adds a retry output route that can be used to handle user cancellations. Defaults to false. |
Output ports are category-based: one port is created per category derived from the declared methods. The supported categories and their associated methods are:
| Port | Methods routed through this port |
|---|---|
eIDs | franceIdentite, personalausweis, lIdentiteNumeriqueLaPoste, spid, itsme, lithuanianMobileId, mojeIdPl, idin, smartId, mitId, norwegianBankId, estonianIdCard, latvianIdCard, lithuanianIdCard, finnishTrustNetwork, frejaEid, belgiumIdCard, edoApp, eParakstsMobile, portugueseIdCard, finnishHenkilokortti, serbianIdCard, swedishBankId |
doc-idv | doc_idv |
eudi_wallet | eudi_wallet |
retry | Only available when enableRetry is true. Activated when the user cancels the selection flow, allowing the flow to redirect back to the selection step rather than triggering a session abort. |
Frontend implications:
Each method is associated with a set of display assets shown in the selection UI:
- A label (the method's title)
- An image displayed within the selection block
- An optional sublabel (e.g. "France" for France Identité, "Germany" for German eID)
Example
{
"eIds": {
"assuranceLevel": "substantial",
"trustFramework": "eidas"
},
"methods": [
{
"method": "franceIdentite",
"assuranceLevel": "substantial",
"trustFramework": "eidas"
},
{ "method": "personalausweis" },
{ "method": "doc_idv" }
]
}
In this example, both franceIdentite and personalausweis route through the eIDs port to a downstream eIDs step. personalausweis inherits assuranceLevel: "substantial" and trustFramework: "eidas" from the top-level eIds default.
Input data blocks
This step does not require any input data blocks.
Output data blocks
| Data block | Produced on port | Description |
|---|---|---|
eIDMethodSelection | eIDs | Emitted when the user selects an eID method. Carries the selected method and its assurance context. See the full schema for accepted values. |
This data block is consumed by a downstream eIDs step to determine which provider to call.