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-verifierroutes the end-user directly to the EUDI Wallet connector, skipping the general eID selection screen.
After you start an authorisation and route the user to the authorisation URL, the following happens:
- The desktop/PC browser displays a QR code.
- The end-user scans the QR code with their mobile device using their EUDI Wallet app.
- The end-user reviews the requested attributes in their wallet app and consents to share their personal data.
- After successful verification, the desktop/PC browser automatically resumes and Signicat sends the authorisation code to your
redirect_uri. - 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
}
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"
}