Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| donnees:scopes_et_claims [2026/04/06 23:47] – mkessabi | donnees:scopes_et_claims [2026/04/07 00:29] (Version actuelle) – mkessabi | ||
|---|---|---|---|
| Ligne 14: | Ligne 14: | ||
| < | < | ||
| - | scope=openid profile email phone | + | scope=openid+profile+email+phone |
| </ | </ | ||
| - | 👉 LINLP retourne uniquement : | + | 👉 LINLP retourne |
| - | * 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 | + | * la donnée est consentie |
| ----- | ----- | ||
| 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 |
| - | | sub | Identifiant unique utilisateur | | + | | sub | Identifiant unique utilisateur |
| ----- | ----- | ||
| Ligne 45: | Ligne 59: | ||
| ===== Scope profile ===== | ===== Scope profile ===== | ||
| - | ^ Claim ^ Description ^ | + | ^ Claim ^ Description |
| - | | given_name | Prénoms | | + | | given_name | Prénoms |
| - | | family_name | Nom de naissance | | + | | family_name | Nom de naissance |
| - | | preferred_username | Nom d’usage | | + | | preferred_username | Nom d’usage |
| - | | gender | Sexe | | + | | gender | Sexe (Male / Female) | String | Male | |
| ----- | ----- | ||
| Ligne 55: | Ligne 69: | ||
| ===== Scope birth ===== | ===== Scope birth ===== | ||
| - | ^ Claim ^ Description ^ | + | ^ Claim ^ Description |
| - | | birthdate | Date de naissance | | + | | birthdate | Date de naissance |
| - | | 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 |
| - | | email | Adresse email | | + | | email | Adresse email | email | jean.dupont@mail.com |
| - | | email_verified | Email vérifié | | + | | email_verified | Email vérifié |
| ----- | ----- | ||
| Ligne 73: | Ligne 87: | ||
| ===== Scope phone ===== | ===== Scope phone ===== | ||
| - | ^ Claim ^ Description ^ | + | ^ Claim ^ Description |
| - | | phone_number | Numéro de téléphone | | + | | phone_number | Numéro de téléphone |
| - | | phone_number_verified | Téléphone vérifié | | + | | phone_number_verified | Téléphone vérifié |
| ----- | ----- | ||
| Ligne 81: | Ligne 95: | ||
| ===== Scope nationality ===== | ===== Scope nationality ===== | ||
| - | ^ Claim ^ Description ^ | + | ^ Claim ^ Description |
| - | | nationality | Nationalité | + | | nationality | Nationalité |
| + | |||
| + | ----- | ||
| + | |||
| + | ===== Scope digital_identity_metadata ===== | ||
| + | |||
| + | ^ Claim ^ Description ^ Format ^ Exemple ^ | ||
| + | | digital_identity_creation_date | Date de création identité | datetime | 2025-01-17T08: | ||
| + | | digital_identity_expiration_date | Date d’expiration | datetime | 2030-01-17T08: | ||
| + | |||
| + | ----- | ||
| + | |||
| + | ===== Scope identity_document_metadata ===== | ||
| + | |||
| + | ^ Claim ^ Description ^ Format ^ Exemple ^ | ||
| + | | identity_document_mrz | Bande MRZ de la pièce d' | ||
| + | | identity_document_type | Type de pièce | String | ID_CARD | | ||
| + | | identity_document_expiration_date | Date d' | ||
| + | | identity_document_emitting_country | Pays d' | ||
| + | | identity_document_emitting_date | Date d' | ||
| ----- | ----- | ||
| Ligne 88: | Ligne 121: | ||
| ===== Données complémentaires ===== | ===== Données complémentaires ===== | ||
| - | Certaines données | + | Certaines données peuvent être retournées |
| - | ^ Claim ^ Description ^ | + | ^ Claim ^ Description |
| - | | ccu_id | Identifiant interne La Poste | | + | | ccu_id | Identifiant interne La Poste | String (13) | 5572916534921 |
| - | | birthplacelabel | Libellé de la commune | + | | splitted_given_name |
| - | | birthcountrylabel | + | | 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é ===== | ||
| + | |||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ----- | ||
| + | |||
| + | ===== Téléphone structuré ===== | ||
| + | |||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ----- | ||
| + | |||
| + | ===== Prénoms détaillés ===== | ||
| + | |||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| ----- | ----- | ||
| Ligne 104: | Ligne 172: | ||
| { | { | ||
| " | " | ||
| - | " | + | " |
| " | " | ||
| - | " | + | |
| - | " | + | |
| - | " | + | " |
| + | " | ||
| } | } | ||
| </ | </ | ||
| 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 | + | |
| - | 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 | + | * Les données sont retournées |
| - | * L’utilisateur garde le contrôle via consentement | + | * Le nom d’usage est une donnée déclarative non vérifiée |
| ----- | ----- | ||
| Ligne 157: | Ligne 225: | ||
| [[donnees: | [[donnees: | ||
| - | |||