Outils pour utilisateurs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
donnees:scopes_et_claims [2026/04/06 23:47] mkessabidonnees:scopes_et_claims [2026/04/07 00:29] (Version actuelle) mkessabi
Ligne 14: Ligne 14:
  
 <code> <code>
-scope=openid profile email phone+scope=openid+profile+email+phone
 </code> </code>
  
-👉 LINLP retourne uniquement : +👉 LINLP retourne la donnée uniquement si les 3 conditions sont respectées 
-  * les données demandées +  * la donnée est demandée ou préconfigurée par défaut  
-  * les données autorisées +  * la donnée est autorisée dans le paramétrage LINLP 
-  * les données consenties par l’utilisateur+  * la donnée est consentie par l’utilisateur
  
 ----- -----
Ligne 31: Ligne 31:
 | id_token | Contient des claims | | id_token | Contient des claims |
 | /userinfo | Retourne des claims | | /userinfo | Retourne des claims |
 +
 +-----
 +
 +===== ⚠️ Donnée non vérifiée : nom d’usage =====
 +
 +⚠️ **Le champ `preferred_username` (nom d’usage) n’est pas une donnée vérifiée par LINLP.**
 +
 +  * Cette donnée est **saisie librement par l’utilisateur**
 +  * Elle **n’est pas contrôlée** lors de la vérification d’identité
 +  * Elle est **souvent absente ou non à jour** sur les pièces d’identité
 +
 +👉 En conséquence :
 +  * elle **ne doit pas être utilisée comme donnée d’identité de référence**
 +  * elle doit être considérée comme **indicative uniquement**
  
 ----- -----
Ligne 38: Ligne 52:
 ===== Scope openid ===== ===== Scope openid =====
  
-^ Claim ^ Description ^ +^ Claim ^ Description ^ Format ^ Exemple 
-| sub | Identifiant unique utilisateur |+| sub | Identifiant unique utilisateur | UUID | 075ccece-6699-4c08-80ca-27a6af136b68 |
  
 ----- -----
Ligne 45: Ligne 59:
 ===== Scope profile ===== ===== Scope profile =====
  
-^ Claim ^ Description ^ +^ Claim ^ Description ^ Format ^ Exemple 
-| given_name | Prénoms | +| given_name | Prénoms | String | Jean Pierre 
-| family_name | Nom de naissance | +| family_name | Nom de naissance | String | DUPONT 
-| preferred_username | Nom d’usage | +| preferred_username | Nom d’usage **(non vérifié)** | String | MARTIN 
-| gender | Sexe |+| gender | Sexe (Male / Female) | String | Male |
  
 ----- -----
Ligne 55: Ligne 69:
 ===== Scope birth ===== ===== Scope birth =====
  
-^ Claim ^ Description ^ +^ Claim ^ Description ^ Format ^ Exemple 
-| birthdate | Date de naissance | +| birthdate | Date de naissance | YYYY-MM-DD | 1990-05-10 
-| birthplace | Code INSEE de naissance +| birthplace | Code INSEE commune | String (5) | 75109 | 
-| birthcountry | Pays de naissance | +| birthdepartment | Département | String | 75 
-birthdepartment | Département |+| birthcountry | Pays de naissance | String (5) 99100 |
  
 ----- -----
Ligne 65: Ligne 79:
 ===== Scope email ===== ===== Scope email =====
  
-^ Claim ^ Description ^ +^ Claim ^ Description ^ Format ^ Exemple 
-| email | Adresse email | +| email | Adresse email | email | jean.dupont@mail.com 
-| email_verified | Email vérifié |+| email_verified | Email vérifié | boolean | true |
  
 ----- -----
Ligne 73: Ligne 87:
 ===== Scope phone ===== ===== Scope phone =====
  
-^ Claim ^ Description ^ +^ Claim ^ Description ^ Format ^ Exemple 
-| phone_number | Numéro de téléphone | +| phone_number | Numéro de téléphone | +33XXXXXXXXX | +33601020304 
-| phone_number_verified | Téléphone vérifié |+| phone_number_verified | Téléphone vérifié | boolean | true |
  
 ----- -----
Ligne 81: Ligne 95:
 ===== Scope nationality ===== ===== Scope nationality =====
  
-^ Claim ^ Description ^ +^ Claim ^ Description ^ Format ^ Exemple 
-| nationality | Nationalité (code label|+| nationality | Nationalité | JSON {codelabel} | {"code":"FRA","label":"Française"} | 
 + 
 +----- 
 + 
 +===== Scope digital_identity_metadata ===== 
 + 
 +^ Claim ^ Description ^ Format ^ Exemple ^ 
 +| digital_identity_creation_date | Date de création identité | datetime | 2025-01-17T08:23:27.000Z | 
 +| digital_identity_expiration_date | Date d’expiration | datetime | 2030-01-17T08:23:27.000Z | 
 + 
 +----- 
 + 
 +===== Scope identity_document_metadata ===== 
 + 
 +^ Claim ^ Description ^ Format ^ Exemple ^ 
 +| identity_document_mrz | Bande MRZ de la pièce d'identité | String | IDFRAXXXXXXX005<<<<<<<<<<<<<<<999999XXXXXXXXFRA<<<<<<<<<<<9XXXXXX<<XXXXX<<<<<<<<<<<<<<<<<
 +| identity_document_type | Type de pièce | String | ID_CARD | 
 +| identity_document_expiration_date | Date d'expiration de la pièce | Date | 2030-01-18 | 
 +| identity_document_emitting_country | Pays d'emission | String | FRA | 
 +| identity_document_emitting_date | Date d'emission | Date | 2020-01-18 |
  
 ----- -----
Ligne 88: Ligne 121:
 ===== Données complémentaires ===== ===== Données complémentaires =====
  
-Certaines données supplémentaires peuvent être retournées :+Certaines données peuvent être retournées en complément des scopes :
  
-^ Claim ^ Description ^ +^ Claim ^ Description ^ Format ^ Exemple 
-| ccu_id | Identifiant interne La Poste | +| ccu_id | Identifiant interne La Poste | String (13) 5572916534921 
-birthplacelabel | Libellé de la commune +splitted_given_name Prénoms séparés JSON {"first_name":"Jean","middle_name":"Pierre"
-birthcountrylabel Libellé du pays | +| majority | Statut majeur | boolean | true | 
-splitted_given_name | Prénom + autres prénoms + 
-| majority | Statut majeur |+----- 
 + 
 +===== Données structurées ===== 
 + 
 +Certaines données sont retournées sous forme d’objets JSON : 
 + 
 +===== Nationalité ===== 
 + 
 +<code> 
 +"nationality":
 +  "code": "FRA", 
 +  "label": "Française" 
 +
 +</code> 
 + 
 +----- 
 + 
 +===== Téléphone structuré ===== 
 + 
 +<code> 
 +"phone":
 +  "country_prefix": "+33", 
 +  "phone_number": "601020304" 
 +
 +</code> 
 + 
 +----- 
 + 
 +===== Prénoms détaillés ===== 
 + 
 +<code> 
 +"splitted_given_name":
 +  "first_name": "Jean", 
 +  "middle_name": "Pierre Louis" 
 +
 +</code>
  
 ----- -----
Ligne 104: Ligne 172:
 { {
   "sub": "5577832670193",   "sub": "5577832670193",
-  "given_name": "Claire Marie",+  "given_name": "Jean Pierre",
   "family_name": "Dupont",   "family_name": "Dupont",
-  "birthdate": "1965-12-06", +  "preferred_username": "Martin", 
-  "email": "test@mail.com", +  "birthdate": "1990-05-10", 
-  "phone_number": "+33600000000"+  "email": "jean.dupont@mail.com", 
 +  "phone_number": "+33601020304"
 } }
 </code> </code>
Ligne 119: Ligne 188:
 Respect du principe de minimisation. Respect du principe de minimisation.
  
-⚠️ Anticiper les données absentes   +⚠️ Ne pas utiliser le nom d’usage comme donnée fiable   
-Certains champs peuvent être vides. +Utiliser `family_name` comme référence.
- +
-⚠️ Gérer les consentements   +
-L’utilisateur peut refuser certaines données. +
- +
-⚠️ Ne pas dépendre d’un seul claim   +
-Toujours prévoir fallback.+
  
 ----- -----
Ligne 134: Ligne 197:
 ⚠️ Les scopes doivent être validés en amont   ⚠️ Les scopes doivent être validés en amont  
 Impossible de demander un scope non autorisé. 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   ⚠️ Les formats sont normalisés  
 Respecter les formats (date, codes INSEE, etc.). Respecter les formats (date, codes INSEE, etc.).
 +
 +-----
 +
 +===== Bon à savoir =====
 +
 +💡 Toutes les données :
 +  * sont transmises uniquement après consentement utilisateur
 +  * peuvent évoluer selon le paramétrage du partenaire
  
 ----- -----
Ligne 147: Ligne 215:
   * Les données sont pilotées par les scopes   * Les données sont pilotées par les scopes
   * Les claims sont les données individuelles   * Les claims sont les données individuelles
-  * Les données sont retournées via JWT ou API +  * Les données sont retournées aux formats JWT et JSON 
-  * Lutilisateur garde le contrôle via consentement+  * Le nom dusage est une donnée déclarative non vérifiée
  
 ----- -----
Ligne 157: Ligne 225:
  
 [[donnees:jwt_et_userinfo|JWT et userinfo]] [[donnees:jwt_et_userinfo|JWT et 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