Table des matières

🇫🇷 Français | 🇬🇧 English


Scopes and Claims

Objective

The data returned by L’Identité Numérique La Poste is defined through OpenID Connect scopes.

👉 A scope corresponds to a set of data (claims) requested by the partner during authentication.


Principle

During the `/authorize` call, the partner specifies the requested data:

scope=openid+profile+email+phone

👉 LINLP returns data only if the following 3 conditions are met:


Key Concepts

Term Description
Scope Group of data
Claim Individual data item
id_token Contains claims
/userinfo Returns claims

⚠️ Unverified Data: Preferred Name

⚠️ The `preferred_username` field (preferred / usage name) is not verified by LINLP.

👉 As a result:


Available Scopes

Scope openid

Claim Description Format Example
sub Unique user identifier UUID 075ccece-6699-4c08-80ca-27a6af136b68

Scope profile

Claim Description Format Example
given_name Given names String Jean Pierre
family_name Birth name String DUPONT
preferred_username Preferred name (unverified) String MARTIN
gender Gender (Male / Female) String Male

Scope birth

Claim Description Format Example
birthdate Date of birth YYYY-MM-DD 1990-05-10
birthplace INSEE city code String (5) 75109
birthplace_label Label of the city String Paris 9e Arrondissement
birthdepartment Department String 75
birthcountry Country of birth String (5) 99100
birthcountry_iso Birth country (ISO format) String (2) FR

Scope email

Claim Description Format Example
email Email address email jean.dupont@mail.com
email_verified Verified email boolean true

Scope phone

Claim Description Format Example
phone_number Phone number +33XXXXXXXXX +33601020304
phone_number_verified Verified phone number boolean true

Scope nationality

Claim Description Format Example
nationality Nationality JSON {code, label} {“code”:“FRA”,“label”:“French”}

Scope digital_identity_metadata

Claim Description Format Example
digital_identity_creation_date Identity creation date datetime 2025-01-17T08:23:27.000Z
digital_identity_expiration_date Expiration date datetime 2030-01-17T08:23:27.000Z

Scope identity_document_metadata

Claim Description Format Example
identity_document_mrz Identity document MRZ line String IDFRAXXXXXXX005«««««««<999999XXXXXXXXFRA«««««<9XXXXXX«XXXXX««««««««<
identity_document_type Document type String ID_CARD
identity_document_number Document number String 123BRA456
identity_document_expiration_date Document expiration date Date 2030-01-18
identity_document_emitting_country Issuing country String FRA
identity_document_emitting_date Issue date Date 2020-01-18

Additional Data

Some data may be returned in addition to scopes:

Claim Description Format Example
ccu_id Internal La Poste identifier String (13) 5572916534921
splitted_given_name Split given names JSON {“first_name”:“Jean”,“middle_name”:“Pierre”}
majority Adult status boolean true

Structured Data

Some data is returned as JSON objects:

Nationality

"nationality": {
  "code": "FRA",
  "label": "French"
}

Structured Phone

"phone": {
  "country_prefix": "+33",
  "phone_number": "601020304"
}

Detailed Given Names

"splitted_given_name": {
  "first_name": "Jean",
  "middle_name": "Pierre Louis"
}

Example Response (/userinfo)

{
  "sub": "5577832670193",
  "given_name": "Jean Pierre",
  "family_name": "Dupont",
  "preferred_username": "Martin",
  "birthdate": "1990-05-10",
  "email": "jean.dupont@mail.com",
  "phone_number": "+33601020304"
}

Best Practices

⚠️ Request only necessary data Apply the data minimization principle.

⚠️ Do not use preferred name as trusted identity data Use `family_name` as reference.


Points of Attention

⚠️ Scopes must be approved in advance Unauthorized scopes cannot be requested.

⚠️ Formats are standardized Respect expected formats (date, INSEE codes, etc.).


Good to Know

💡 All data:


Summary


Next Step

👉 Understand tokens:

JWT and UserInfo