Outils pour utilisateurs

🇫🇷 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:

  • the data is requested or preconfigured by default
  • the data is authorized in the LINLP configuration
  • the data is consented to by the user

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.

  • This data is freely entered by the user
  • It is not checked during identity verification
  • It is often missing or outdated on identity documents

👉 As a result:

  • it must not be used as reference identity data
  • it should be considered informational only

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:

  • is transmitted only after user consent
  • may vary depending on partner configuration

Summary

  • Data is controlled through scopes
  • Claims are individual data items
  • Data is returned in JWT and JSON formats
  • Preferred name is declarative and unverified data

Next Step

👉 Understand tokens:

JWT and UserInfo

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

Plus d’informations