Claims obligatoires
Exiger la présence de certains claims avant que l'utilisateur puisse consentir.
Le paramètre standard claims permet normalement de demander des claims « essentiels » dans id_token et userinfo. A3BC renvoyant les mêmes informations dans les deux, il ignore ces éléments et propose à la place un objet mandatory.
Format
Un JSON UTF-8, encodé dans l’URL, passé dans le paramètre claims :
{
"mandatory": [
"given_name",
"family_name",
"email",
"private:doc.id"
]
}
Règles
- Un claim obligatoire doit aussi être couvert par un scope demandé, sinon il est ignoré.
- Est obligatoire un claim ni nul ni vide.
- L’utilisateur ne peut pas valider son consentement tant que les informations obligatoires ne sont pas disponibles. Si malgré tout le cas se produit, le flux se termine en erreur.
- Avec le partage différé, un claim obligatoire doit être disponible et validé au moment du consentement.
import json, urllib.parse
claims = json.dumps({"mandatory": ["given_name", "family_name", "email"]})
params["claims"] = claims # urlencode s'occupe de l'encodage
const claims = JSON.stringify({ mandatory: ["given_name", "family_name", "email"] });
url.searchParams.set("claims", claims);