Accès aux données à l'aide des scopes
Les données d'identité mises à disposition d'un fournisseur de service sont les suivantes :
- Nom de naissance
- Prénoms
- Sexe
- Date de naissance
- Code officiel géographique de la ville de naissance
- Code officiel géographique du pays de naissance
- Nom d'usage
Note : Les codes officiels géographiques (COG) des villes et pays sont disponibles sur le site de l'INSEE.
Scopes et claims dans OpenID Connect #
(Note : les informations détaillées dans cette section s'appuient sur la documentation OpenID Connect Basic Client Implementer's Guide 1.0.)
Scopes #
Un « scope » est un terme technique qui définit l'ensemble des informations mises à disposition du fournisseur de service pour une cinématique. On peut considérer un scope comme un périmètre de données accessible. Un fournisseur de service est légitime pour consulter un ou plusieurs scopes et accéder aux données associées. Les scopes sont définis en amont par FranceConnect et le fournisseur de données ; l'accès aux scopes est accordé par FranceConnect sur la base d'une demande d'habilitation Datapass.
Le protocole OpenID Connect définit six scopes standards qu'il est possible de compléter par des scopes spécifiques supplémentaires en fonction des besoins du fournisseur d'identité.
Au cours du processus d'authentification, FranceConnect fournit un jeton d'accès (« access token ») contenant les scopes accessibles pour le fournisseur de service et l'utilisateur authentifié.
Claims #
Un « claim » est une information relative à un utilisateur ou au processus de son authentification. Ces informations peuvent être disponibles dans divers jetons (JWT) :
- soit dans un jeton d'identification (« ID token »),
- soit dans un jeton contenant les données d'identité de l'utilisateur (« UserInfo token »), transmis en réponse à une requête UserInfo.
Les informations retournées dans ces jetons dépendent des périmètres d'accès (« scopes ») décrits dans le jeton d'accès (« access token »).
Le protocole OpenId Connect définit une liste de claims standards.
Liste des claims #
Les données d'identité
Claims | Type | Description | Format |
---|---|---|---|
given_name | string | les prénoms séparés par des espaces (standard OpenIDConnect) | [A-Za-zÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸàâäçéèêëîïôöùûüÿÆŒæœ-'] |
family_name | string | le nom de famille de naissance (standard OpenIDConnect) | [A-ZÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸÆŒ\-'] |
birthdate | string | la date de naissance au format YYYY-MM-DD (standard OpenIDConnect) | [YYYY-01-01] - (\d{4})-01-01 - (Présumé mois)[YYYY-MM-01] - (\d{4})-(\d{2})-01 - (Présumé jours)[YYYY-MM-DD] - (\d{4})-(\d{2})-(\d{2}) |
gender | string | male pour les hommes, female pour les femmes (standard OpenIDConnect) | Masculin : male Féminin : female |
birthplace | string | le code INSEE du lieu de naissance sur 5 chiffres (ou une chaîne vide si la personne est née à l'étranger). Une lettre peut être présente pour les personnes nées en corse. | Si né en France (Taille de 5)[(([0-8][0-9AB])or(9[0-8AB]))[0-9]{3}] Details Liste En cas de pays étranger : Champs vide |
birthcountry | string | le code INSEE du pays de naissance sur 5 chiffres | Pour les pays étrangers (Taille de 5 ) [99[0-9]{3}] Details Pour la France 99100 |
Les données complémentaires #
Claims | Type | Description | Format |
---|---|---|---|
sub | string | identifiant technique (standard OpenIDConnect) | 66 caractères hexa + lettre 'v' |
string | l'adresse électronique de contact de la personne (standard OpenIDConnect) | RFC 5322 | |
preferred_username | string | le nom d'usage (standard OpenIDConnect) | [A-ZÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸÆŒ-'] |
Les scopes et claims spécifiques à FranceConnect #
Claims | Type | Description | Format |
---|---|---|---|
given_name_array | string[] | prénoms de la personne | Liste de prénoms sous la forme d'un tableau. Il s'agit de la liste des prénoms fournis par le RNIPP. Ce claim est récupéré automatiquement lorsque le scope given_name est demandé |
Les scopes et claims spécifiques à FranceConnect+ #
Pour FranceConnect+, l'ensemble des données (hormis le sub) provient du fournisseur d'identité et a le niveau de garantie correspondant (substantiel ou élevé suivant le fournisseur d'identité). Afin de faciliter la réconciliation entre les données d'identité mises à disposition par FranceConnect+ et les référentiels de certains FI (fournisseurs de service publics exclusivement), des données provenant du RNIPP peuvent également être mises à disposition en fonction du besoin. Attention, le RNIPP ne disposant pas de qualification en tant que MIE, les données provenant du RNIPP n'ont pas de garantie de niveau substantiel ou élevé. Il est donc nécessaire d'utiliser ces données afin de faciliter les réconciliations et uniquement pour cela. Les données provenant du fournisseur d'identité doivent être utilisées pour garantir l'identité de l'usager.
Claims | Type | Description | Format |
---|---|---|---|
rnipp_given_name | string | les prénoms séparés par des espaces (standard OpenIDConnect) | [A-Za-zÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸàâäçéèêëîïôöùûüÿÆŒæœ-'] |
rnipp_family_name | string | le nom de famille de naissance (standard OpenIDConnect) | [A-ZÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸÆŒ-'] |
rnipp_birthdate | string | la date de naissance au format YYYY-MM-DD (standard OpenIDConnect) | [YYYY-01-01] (\d{4})-01-01 (Présumé mois)[YYYY-MM-01] (\d{4})-(\d{2})-01 (Présumé jours) [YYYY-MM-DD](\d{4})-(\d{2})-(\d{2}) |
rnipp_gender | string | male pour les hommes, female pour les femmes (standard OpenIDConnect) | Masculin : male Féminin : female |
rnipp_birthplace | string | le code INSEE du lieu de naissance sur 5 chiffres (ou une chaîne vide si la personne est née à l'étranger). Une lettre peut être présente pour les personnes nées en corse. | Si né en France (Taille de 5) [(([0-8][0-9AB])or(9[0-8AB]))[0-9]{3}] - Details - Liste En cas de pays étranger : Champs vide |
rnipp_birthcountry | string | le code INSEE du pays de naissance sur 5 chiffres | Pour les pays étrangers (Taille de 5 ) [99[0-9]{3}] - Details Pour la France 99100 |
Les données sur l'authentification #
Les claims relatifs à l'authentification disponible par FranceConnect+ sont des claims standards et sont disponible uniquement dans l'ID Token. Ces claims sont les suivants :
- amr
- acr
- sid
- auth_time
- iss
Plus d'informations sur ces claims
Correspondance entre scope et claims #
Le tableau suivant décris la liste des claims accessible en fonction des scopes associés à l'access token.
Scope | Claims |
---|---|
openid | sub |
gender | gender |
birthdate | birthdate |
birthcountry | birthcountry |
birthplace | birthplace |
given_name | given_name, given_name_array (non présent sur FranceConnect+) |
family_name | family_name |
preferred_username | preferred_username |
profile | family_name, given_name, preferred_username, gender, birthdate |
birth | birthplace, birthcountry |
identite_pivot | given_name, family_name, birthdate, gender, birthplace, birthcountry |
rnipp_given_name | given_name, rnipp_given_name |
rnipp_family_name | family_name, rnipp_family_name |
rnipp_gender | gender, rnipp_gender |
rnipp_birthcountry | birthcountry, rnipp_birthcountry |
rnipp_birthplace | birthplace, rnipp_birthplace |
rnipp_birthdate | birthdate, rnipp_birthdate |
rnipp_profile | given_name, family_name, birthdate, gender,preferred_username,rnipp_given_name, rnipp_family_name, rnipp_birthdate, rnipp_gender |
rnipp_birth | birthplace, birthcountry, rnipp_birthplace, rnipp_birthcountry |
rnipp_identite_pivot | given_name, family_name, birthdate, gender, birthplace, birthcountry, rnipp_given_name, rnipp_family_name, rnipp_birthdate, rnipp_gender, rnipp_birthplace, rnipp_birthcountry |
En bref
Les claims correspondent à des informations sur l'utilisateur ou la phase d'authentification. Ils sont disponibles dans l'ID Token ou dans la réponse de UserInfo.