Documentation / Référence API Scopes & profil utilisateur
Référence API

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

ScopeChamps ajoutés à /oauth/userinfoStatut
profilesub, username, profile_pictureToujours inclus
emailemail, email_verifiedOptionnel
phonephoneOptionnel
birthdaybirthdayOptionnel

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 :

json
{
  "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.