Skip to main content

Verifying eID (v1)

Deprecated

This version of this step type has been deprecated. Documentation will not be maintained.
The stable / GA version of this step is Verifying eID (v2)

Authenticates users using a national electronic identity document​

Used when businesses need to authenticate users through government-issued eID schemes. Supports multiple eID providers (e.g. France Identité, Personalausweis, EIDEasy) through a unified step, with routing to the appropriate provider managed by IDnow.


Key features​

  • Multi-provider support: Routes to the appropriate eID provider backend based on the user's selected method and your organisation's routing configuration. Supported providers include France Identité, IDnow Personalausweis, and EIDEasy (covering 20 European methods).
  • OIDC-based authentication: Authenticates users via OpenID Connect with the eID provider.
  • Flexible method selection: Works with an upstream Method selector for verifying ID (v2) step, or can be pre-configured to a fixed method.
  • Provider-agnostic flow: You don't pick a provider in your flow. IDnow uses the right provider for the eID method the user selects.

Configuration​

OptionTypeRequiredDefaultDescription
preconfigureobjectNo—Pre-selects a fixed eID method, bypassing the need for an upstream Method selector for verifying ID step. When present, the step uses this method directly instead of reading the user's selection from the flow context.
preconfigure.methodstringYes—The eID method to use. See Supported methods for the full list of accepted values. Accepted values: franceIdentite, personalausweis, lIdentiteNumeriqueLaPoste, spid, itsme, lithuanianMobileId, mojeIdPl, idin, smartId, mitId, norwegianBankId, estonianIdCard, latvianIdCard, lithuanianIdCard, finnishTrustNetwork, frejaEid, belgiumIdCard, edoApp, eParakstsMobile, portugueseIdCard, finnishHenkilokortti, serbianIdCard, swedishBankId, idAustria, chaveMovelDigital, oneId.
preconfigure.assuranceLevelstringNo—Required assurance level for the authentication. Accepted values: low, substantial, high.
preconfigure.trustFrameworkstringNo—Trust framework governing the assurance level. Accepted values: eidas.
enableRetrybooleanNofalseWhen true, adds a retry output route that can be used to handle user cancellations.

Without preconfigure, the step uses the eID method the user chose in an earlier Method selector for verifying ID (v2) step. Either set preconfigure or add that selector step before this one; if you do neither, the session fails when it reaches this step.

Example configuration​

With an upstream Method selector for verifying ID (recommended for multi-method flows):

{}

With preconfigure (single-method flows, no selector needed):

{
"preconfigure": {
"method": "franceIdentite",
"assuranceLevel": "substantial",
"trustFramework": "eidas"
}
}

Supported methods​

Method valueProvider
franceIdentiteFrance Identité
personalausweisIDnow
belgiumIdCardEIDEasy
chaveMovelDigitalEIDEasy
edoAppEIDEasy
eParakstsMobileEIDEasy
estonianIdCardEIDEasy
finnishHenkilokorttiEIDEasy
finnishTrustNetworkEIDEasy
frejaEidEIDEasy
idAustriaEIDEasy
idinEIDEasy
itsmeEIDEasy
lIdentiteNumeriqueLaPosteEIDEasy
latvianIdCardEIDEasy
lithuanianIdCardEIDEasy
lithuanianMobileIdEIDEasy
mitIdEIDEasy
mojeIdPlEIDEasy
norwegianBankIdEIDEasy
oneIdEIDEasy
portugueseIdCardEIDEasy
serbianIdCardEIDEasy
smartIdEIDEasy
swedishBankIdEIDEasy
spidEIDEasy

Input data blocks​

Data blockRequiredDescription
EIDMethodSelectionConditionalProduced by an upstream verification method selector step when the user selects an eID method. Present unless preconfigure is set.

Routes​

RouteDescription
verifiedThe user's identity has been successfully authenticated by the eID provider. The OIDC flow completed and the provider returned a valid ID token with verified identity attributes.
not_verifiedThe authentication attempt failed. The identity could not be verified — for example, the user entered an incorrect PIN or the eID provider rejected the authentication request.
retryAvailable only when enableRetry is true. User cancelled and can retry.

Output data blocks​

RouteData blocks produced
verifiedBasicIdentity, ExtendedIdentity, AuthenticationResult
not_verifiedAuthenticationResult
retryAuthenticationResult
Available only when enableRetry is true.

AuthenticationResult data block​

The AuthenticationResult data block produced by this step contains different fields depending on the route.

verified route​

FieldTypeDescription
resultstringAlways "success".
providerstringThe eID provider used (e.g. "sphinx", "eideasy"). Can be null for some methods (e.g. France Identité).
credentialTypestringAlways "eID".
subjectIdstringProvider-assigned subject identifier for the authenticated user.
requestIdstringIDnow-assigned transaction reference.
authenticatedAtstringISO 8601 timestamp of the authentication.
info

trustFramework and assuranceLevel (e.g. "eidas", "substantial") are not part of the AuthenticationResult data block. They come from the method selection: read them from the EIDMethodSelection data block produced by the Method selector for verifying ID (v2) step, or from your preconfigure settings.

not_verified and retry routes​

FieldTypeDescription
resultstringAlways "failure".
providerstringThe eID provider used (e.g. "sphinx", "eideasy"). Can be null for some methods (e.g. France Identité).
credentialIdstringUnique identifier of the credential attempted.
credentialTypestringAlways "eID".
requestIdstringIDnow-assigned transaction reference.
attemptedAtstringISO 8601 timestamp of the failed attempt.
reason.codestringA provider/method-specific machine-readable code (e.g. timeout, CANCELED, or an OIDC error code). Not a fixed value.
reason.detailsstring[]Human-readable descriptions of the failure.

Example payloads​

BasicIdentity — verified
{
"givenName": "Jean",
"familyName": "Dupont",
"name": "Jean Dupont",
"birthDate": "1985-03-22",
"birthPlace": "Paris"
}
ExtendedIdentity — verified
{
"portrait": null,
"nationality": "FRA",
"personalAdministrativeNumber": null,
"familyNameBirth": "Dupont",
"givenNameBirth": "Jean",
"sex": 1,
"emailAddress": null,
"mobilePhoneNumber": null,
"residentAddress": null,
"residentStreet": null,
"residentHouseNumber": null,
"residentHouseName": null,
"residentCountry": null,
"residentState": null,
"residentCity": null,
"residentPostalCode": null
}
AuthenticationResult — success
{
"result": "success",
"provider": "eideasy",
"credentialId": "eid-cred-7f3a2b1c",
"credentialType": "eID",
"subjectId": "EE-38302290123",
"requestId": "txn-d4e5f6a7b8c9",
"authenticatedAt": "2026-02-10T14:00:01.000Z"
}
AuthenticationResult — failure
{
"result": "failure",
"provider": "eideasy",
"credentialId": "eid-cred-7f3a2b1c",
"credentialType": "eID",
"subjectId": "EE-38302290123",
"requestId": "txn-d4e5f6a7b8c9",
"attemptedAt": "2026-02-10T14:00:01.000Z",
"reason": {
"code": "CANCELED",
"details": "User cancelled the authentication process."
}
}