Scopes & profil utilisateur
Les scopes déterminent quels champs ton application reçoit de /oauth/userinfo. Un utilisateur ne voit sur l'écran de consentement que les scopes que ton application a effectivement déclarés et demandés.
Scopes disponibles
| Scope | Champs ajoutés à /oauth/userinfo | Statut |
|---|---|---|
profile | sub, username, profile_picture | Toujours inclus |
email | email, email_verified | Optionnel |
phone | phone | Optionnel |
birthday | birthday | Optionnel |
profile forme le socle minimum : il est automatiquement ajouté à toute demande, que tu le déclares explicitement ou non. Les autres scopes doivent être déclarés dans les scopes autorisés de ton application (voir Gérer son application) avant de pouvoir être demandés dans l'URL de /oauth/authorize — sinon ils sont silencieusement ignorés (jamais une erreur, juste absents du scope accordé).
Le sens de email_verified
Ne fais confiance à l'e-mail que si ce flag est true
Un compte CrowAccounts peut exister avec un e-mail pas encore confirmé. Ne l'utilise pour relier ou fusionner un compte existant chez toi que lorsque email_verified vaut true — sinon rien ne garantit que la personne connectée en est réellement propriétaire.
Exemple de réponse complète
Avec un jeton émis pour le scope profile email phone birthday :
{
"sub": "42",
"username": "edouard",
"profile_picture": "https://accounts.crowstudios.eu/uploads/...",
"email": "edouard@exemple.eu",
"email_verified": true,
"phone": "+33600000000",
"birthday": "1998-04-12"
}
sub (subject) est l'identifiant unique et stable de l'utilisateur chez CrowAccounts — c'est la clé à utiliser pour relier un compte chez toi, pas l'e-mail ni le nom d'utilisateur (qui peuvent changer).
Si tu as besoin d'un scope supplémentaire plus tard
Ajoute-le à la fois aux scopes autorisés de ton application et à la demande envoyée à /oauth/authorize. L'utilisateur reverra l'écran de consentement pour ce scope précis (CrowAccounts ne l'accorde jamais silencieusement), après quoi /oauth/userinfo renverra le nouveau champ pour les jetons émis avec ce scope étendu.