Ceci est une ancienne révision du document !
Scopes et claims
Objectif
Les données retournées par L’Identité Numérique La Poste sont définies via les scopes OpenID Connect.
👉 Un scope correspond à un ensemble de données (claims) que le partenaire demande lors de l’authentification.
Principe
Lors de l’appel `/authorize`, le partenaire précise les données souhaitées :
scope=openid profile email phone
👉 LINLP retourne uniquement :
- les données demandées
- les données autorisées
- les données consenties par l’utilisateur
Notions clés
| Terme | Description |
|---|---|
| Scope | Groupe de données |
| Claim | Donnée individuelle |
| id_token | Contient des claims |
| /userinfo | Retourne des claims |
Scopes disponibles
Scope openid
| Claim | Description |
|---|---|
| sub | Identifiant unique utilisateur |
Scope profile
| Claim | Description |
|---|---|
| given_name | Prénoms |
| family_name | Nom de naissance |
| preferred_username | Nom d’usage |
| gender | Sexe |
Scope birth
| Claim | Description |
|---|---|
| birthdate | Date de naissance |
| birthplace | Code INSEE de naissance |
| birthcountry | Pays de naissance |
| birthdepartment | Département |
Scope email
| Claim | Description |
|---|---|
| Adresse email | |
| email_verified | Email vérifié |
Scope phone
| Claim | Description |
|---|---|
| phone_number | Numéro de téléphone |
| phone_number_verified | Téléphone vérifié |
Scope nationality
| Claim | Description |
|---|---|
| nationality | Nationalité (code + label) |
Données complémentaires
Certaines données supplémentaires peuvent être retournées :
| Claim | Description |
|---|---|
| ccu_id | Identifiant interne La Poste |
| birthplacelabel | Libellé de la commune |
| birthcountrylabel | Libellé du pays |
| splitted_given_name | Prénom + autres prénoms |
| majority | Statut majeur |
Exemple de réponse (/userinfo)
{
"sub": "5577832670193",
"given_name": "Claire Marie",
"family_name": "Dupont",
"birthdate": "1965-12-06",
"email": "test@mail.com",
"phone_number": "+33600000000"
}
Bonnes pratiques
⚠️ Demander uniquement les données nécessaires Respect du principe de minimisation.
⚠️ Anticiper les données absentes Certains champs peuvent être vides.
⚠️ Gérer les consentements L’utilisateur peut refuser certaines données.
⚠️ Ne pas dépendre d’un seul claim Toujours prévoir fallback.
Points d’attention
⚠️ Les scopes doivent être validés en amont Impossible de demander un scope non autorisé.
⚠️ Différence id_token vs userinfo Les données peuvent différer selon le endpoint.
⚠️ Les formats sont normalisés Respecter les formats (date, codes INSEE, etc.).
Résumé
- Les données sont pilotées par les scopes
- Les claims sont les données individuelles
- Les données sont retournées via JWT ou API
- L’utilisateur garde le contrôle via consentement
Étape suivante
👉 Comprendre les tokens :