For the complete documentation index, see llms.txt. You can also append .md to any page URL to get its markdown version.
Skip to main content
For the complete documentation index, see llms.txt.

For the complete documentation index, see llms.txt

OpenID Connect (OIDC)

This page displays the user attributes available for EUDI Wallet with OpenID Connect (OIDC).

Attributes table

OIDC scopes encode what personal information you request from your end-users. The EUDI Wallet provides the following data mappings in OIDC:

Examples

When you integrate using OIDC, you specify the scopes in your authentication request. After the end-user successfully authenticates with their identity wallet, you can retrieve the claims in the ID Token or through the UserInfo endpoint.

Below, you find examples of requests and responses exchanged as part of an authentication transaction.

Request example

To start an authentication, your OIDC request may look similar to:

https://<YOUR_SIGNICAT_DOMAIN>/auth/open/connect/authorize?
&client_id=<OIDC_CLIENT_ID>
&response_type=code
&redirect_uri=<REDIRECT_URI>
&state=xyz123
&scope=openid%20profile%20address%20phone%20nin%20wallet-verifier-extra
&acr_values=idp:wallet-verifier
&prompt=login
&code_challenge=Qr_Nb...NFylI
&code_challenge_method=S256

Note the following request parameters shown in the example above:

  • scope: Specifies the set of claims that your application is requesting from the wallet. Scopes in request: openid, profile, address, phone, nin, wallet-verifier-extra.
  • acr_values: Establishes the identity provider (IdP) routing. idp:wallet-verifier routes the end-user directly to the EUDI Wallet connector, skipping the general eID selection screen.
What happens next?

After you start an authorisation and route the user to the authorisation URL, the following happens:

  1. The desktop/PC browser displays a QR code.
  2. The end-user scans the QR code with their mobile device using their EUDI Wallet app.
  3. The end-user reviews the requested attributes in their wallet app and consents to share their personal data.
  4. After successful verification, the desktop/PC browser automatically resumes and Signicat sends the authorisation code to your redirect_uri.
  5. You exchange the authorisation code for an ID token and an access token.

Response example

Below, you find an example of a response obtained from an identity verification flow with the Identity Wallet.

Example of ID token in response:

{
"iss": "https://<ACCOUNT_DOMAIN>/auth/open",
"nbf": 1726046529,
"iat": 1726046529,
"exp": 1726047129,
"aud": "<OIDC_CLIENT_ID>",
"amr": [
"external"
],
"at_hash": "_T539pqKJTOovx1xVyMnKA",
"sid": "783EFB56CEE40C1FA95F0543535B6E4E",
"sub": "X-FUmG7SkaAb8fA-7IU0ZrpTIJ37fnaV-c5SbXAoOqw=",
"auth_time": 1726046523,
"idp": "wallet-verifier",
"sandbox": true
}
ID Token

The ID Token is configured by default to return only the claims defined in the OIDC standard (standard scopes).

To control the data returned in the ID Token, go to your OIDC client configuration in the Signicat Dashboard, select your OIDC client, navigate to the Advanced > Security tab and edit the ID Token User data field to return All claims.

Example of a response from the UserInfo endpoint:

{
"sub": "X-FUmG7SkaAb8fA-7IU0ZrpTIJ37fnaV-c5SbXAoOqw=",
"name": "John Doe",
"family_name": "Doe",
"given_name": "John",
"gender": "male",
"birthdate": "1985-06-15",
"email": "john.doe@example.com",
"phone_number": "+4799999999",
"address": {
"formatted": "Munkegata 26B, 7011 Trondheim, Norway"
},
"nationality": "NO",
"picture": "data:image/jpeg;base64,...",
"nin": "15068512345",
"nin_type": "social_security_number",
"nin_issuing_country": "NO",
"wallet_verifier_date_of_expiry": "2030-12-31",
"wallet_verifier_date_of_issuance": "2025-01-01",
"wallet_verifier_personal_administrative_number": "PAN-123456",
"wallet_verifier_issuing_authority": "National Digital Identity Authority",
"wallet_verifier_issuing_country": "NO",
"wallet_verifier_document_number": "DOC-789012",
"wallet_verifier_issuing_jurisdiction": "Oslo",
"wallet_verifier_trust_anchor": "EU Trust Anchor",
"wallet_verifier_attestation_legal_category": "QEAA",
"wallet_verifier_place_of_birth_locality": "Trondheim",
"wallet_verifier_place_of_birth_region": "Trøndelag",
"wallet_verifier_place_of_birth_country": "NO"
}