Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| donnees:scopes_et_claims [2026/04/07 00:00] – mkessabi | donnees:scopes_et_claims [2026/04/07 00:29] (Version actuelle) – mkessabi | ||
|---|---|---|---|
| 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 ^ Format ^ | + | ^ Claim ^ Description ^ Format |
| - | | sub | Identifiant unique utilisateur | UUID | | + | | sub | Identifiant unique utilisateur | UUID | 075ccece-6699-4c08-80ca-27a6af136b68 |
| ----- | ----- | ||
| Ligne 45: | Ligne 59: | ||
| ===== Scope profile ===== | ===== Scope profile ===== | ||
| - | ^ Claim ^ Description ^ Format ^ | + | ^ Claim ^ Description ^ Format |
| - | | given_name | Prénoms | String | | + | | given_name | Prénoms | String |
| - | | family_name | Nom de naissance | String | | + | | family_name | Nom de naissance | String |
| - | | preferred_username | Nom d’usage | String | | + | | preferred_username | Nom d’usage |
| - | | gender | Sexe (Male / Female) | String | | + | | gender | Sexe (Male / Female) | String |
| ----- | ----- | ||
| Ligne 55: | Ligne 69: | ||
| ===== Scope birth ===== | ===== Scope birth ===== | ||
| - | ^ Claim ^ Description ^ Format ^ | + | ^ Claim ^ Description ^ Format |
| - | | birthdate | Date de naissance | YYYY-MM-DD | | + | | birthdate | Date de naissance | YYYY-MM-DD |
| - | | birthplace | Code INSEE commune | String (5) | | + | | birthplace | Code INSEE commune | String (5) | 75109 | |
| - | | birthdepartment | Département | String | | + | | birthdepartment | Département | String |
| - | | birthcountry | Pays de naissance | String (5) | | + | | birthcountry | Pays de naissance | String (5) | 99100 | |
| - | | birthplacelabel | Libellé de la commune | String | | + | |
| - | | birthcountrylabel | Libellé du pays | String | | + | |
| - | | birthcountry_iso | Pays (format ISO) | JSON | | + | |
| ----- | ----- | ||
| Ligne 68: | Ligne 79: | ||
| ===== Scope email ===== | ===== Scope email ===== | ||
| - | ^ Claim ^ Description ^ Format ^ | + | ^ Claim ^ Description ^ Format |
| - | | email | Adresse email | email | | + | | email | Adresse email | email | jean.dupont@mail.com |
| - | | email_verified | Email vérifié | boolean | | + | | email_verified | Email vérifié | boolean |
| ----- | ----- | ||
| Ligne 76: | Ligne 87: | ||
| ===== Scope phone ===== | ===== Scope phone ===== | ||
| - | ^ Claim ^ Description ^ Format ^ | + | ^ Claim ^ Description ^ Format |
| - | | phone_number | Numéro de téléphone | +33XXXXXXXXX | | + | | phone_number | Numéro de téléphone | +33XXXXXXXXX |
| - | | phone_number_verified | Téléphone vérifié | boolean | | + | | phone_number_verified | Téléphone vérifié | boolean |
| ----- | ----- | ||
| Ligne 84: | Ligne 95: | ||
| ===== Scope nationality ===== | ===== Scope nationality ===== | ||
| - | ^ Claim ^ Description ^ Format ^ | + | ^ Claim ^ Description ^ Format |
| - | | nationality | Nationalité | JSON {code, label} | | + | | nationality | Nationalité | JSON {code, label} |
| + | |||
| + | ----- | ||
| + | |||
| + | ===== 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 93: | Ligne 123: | ||
| Certaines données peuvent être retournées en complément des scopes : | Certaines données peuvent être retournées en complément des scopes : | ||
| - | ^ Claim ^ Description ^ Format ^ | + | ^ Claim ^ Description ^ Format |
| - | | ccu_id | Identifiant interne La Poste | String (13) | | + | | ccu_id | Identifiant interne La Poste | String (13) | 5572916534921 |
| - | | splitted_given_name | Prénoms séparés | JSON | | + | | splitted_given_name | Prénoms séparés | JSON | {" |
| - | | majority | Statut majeur | boolean | | + | | majority | Statut majeur | boolean | true | |
| - | | digital_identity_creation_date | Date de création identité | datetime | | + | |
| - | | digital_identity_expiration_date | Date d’expiration | datetime | + | |
| ----- | ----- | ||
| Ligne 132: | Ligne 160: | ||
| < | < | ||
| " | " | ||
| - | " | + | " |
| - | " | + | " |
| } | } | ||
| </ | </ | ||
| Ligne 144: | Ligne 172: | ||
| { | { | ||
| " | " | ||
| - | " | + | " |
| " | " | ||
| - | " | + | |
| - | " | + | |
| - | " | + | " |
| + | " | ||
| } | } | ||
| </ | </ | ||
| - | |||
| - | ----- | ||
| - | |||
| - | ===== Recommandation par cas d’usage ===== | ||
| - | |||
| - | ^ Cas d’usage ^ Scopes recommandés ^ | ||
| - | | Authentification simple | openid email | | ||
| - | | Création de compte | openid profile email | | ||
| - | | Vérification d’identité (KYC) | openid profile birth nationality | | ||
| - | | Sécurité renforcée | openid phone | | ||
| ----- | ----- | ||
| Ligne 169: | 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 184: | 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 | ||
| Ligne 196: | Ligne 206: | ||
| 💡 Toutes les données : | 💡 Toutes les données : | ||
| - | * sont certifiées par LINLP | ||
| * sont transmises uniquement après consentement utilisateur | * sont transmises uniquement après consentement utilisateur | ||
| * peuvent évoluer selon le paramétrage du partenaire | * peuvent évoluer selon le paramétrage du partenaire | ||
| Ligne 206: | 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 |
| ----- | ----- | ||