POST /mcp exige un access token OAuth émis pour l’audience exacte de la ressource MCP. Chataigne vérifie le token, la session utilisateur active, le client OAuth, le consentement et les scopes à chaque requête.
Autorisation effective
Un outil métier est autorisé par l’intersection de trois contrôles :Scopes
Les scopes d’identité sontopenid, profile et offline_access. Les scopes métier suivent le format ressource.action.
Les outils dont le scope statique est absent n’apparaissent pas dans
tools/list. Appeler directement un outil masqué ne contourne pas ce contrôle. chataigne_location_settings_get vérifie aussi le scope granulaire de chaque section demandée et refuse l’appel entier si une section n’est pas autorisée. Les scopes d’administration de plateforme et leurs contrôles supplémentaires de rôle en temps réel sont documentés uniquement dans l’espace Admin protégé.
Cycle de vie du token
- Les access tokens sont liés à l’audience de l’URL MCP canonique.
- Authorization Code utilise PKCE.
- Les refresh tokens tournent.
- Une session Better Auth actuelle, un utilisateur actif, un client OAuth activé et un consentement correspondant sont exigés.
- Les memberships et permissions de rôle sont lus en temps réel : une suppression d’accès prend effet à la requête MCP suivante.
Scopes recommandés
Pour un assistant limité aux questions opérationnelles, commencez avec :Échecs d’authentification
Les échecs d’authentification renvoient HTTP401 avec un header WWW-Authenticate vers les métadonnées de la ressource protégée. Les refus de permission d’un outil renvoient une erreur MCP sûre MCP_RESOURCE_FORBIDDEN sans révéler si un identifiant appartenant à un autre tenant existe.