Authentification OAuth 2.0
Vue d'ensemble
OAuth 2.0 est une alternative à l'authentification par clé API disponible pour tous les utilisateurs d'axe MCP Server. Il utilise le flux de code d'autorisation avec PKCE et stocke les jetons de manière sécurisée dans la trousseau de votre système d'exploitation, de sorte que vous vous authentifiez une fois et que le CLI gère automatiquement le renouvellement du jeton.
L'authentification est gérée par @deque/axe-auth, un CLI autonome que vous installez séparément sur votre machine hôte.
Prérequis
- Node.js 22 LTS ou version ultérieure
- Docker installé et en cours d'exécution
Étape 1 : Authentification
Exécutez la commande de connexion :
npx @deque/axe-auth loginLe CLI va :
- Ouvrir votre navigateur par défaut sur la page de connexion
- Vous inviter à vous connecter avec vos identifiants de compte axe
- Stocker les jetons résultants de manière sécurisée dans le trousseau de votre système
Votre système d'exploitation peut vous demander d'accorder l'accès à la trousseau la première fois que les jetons sont stockés.
Une fois terminé, le terminal confirme :
✓ Authenticated.Vous n'avez besoin d'exécuter login qu'une seule fois par machine. Lors des invocations suivantes, npx @deque/axe-auth token renouvelle votre jeton d'accès en silence en utilisant le jeton de rafraîchissement stocké.
Cloud privé, régions hors des États-Unis ou installations sur site
Si votre organisation utilise un cloud privé ou une instance axe sur site, transmettez l'URL de votre instance avec --server (ou définissez la variable d'environnement AXE_SERVER_URL ):
npx @deque/axe-auth login --server https://your-axe-instance.example.comÉtape 2 : Configurer votre IDE
Utilisez @deque/axe-auth token dans la configuration de votre client MCP pour injecter un jeton d'accès valide dans le conteneur Docker à chaque démarrage du serveur. Enveloppez la commande Docker avec sh -c afin que le shell puisse substituer le jeton — les fichiers de configuration MCP sont en JSON et n'étendent pas $(...) directement :
Définissez soit AXE_API_KEY soit AXE_ACCESS_TOKEN — mais pas les deux. Le serveur échouera au démarrage si les deux variables sont définies.
Choisissez votre IDE pour des instructions de configuration spécifiques :
Chaque page de configuration comprend une section de configuration OAuth en plus des instructions relatives à la clé API.
Gestion des sessions
Durée de vie du jeton
Les jetons d'accès OAuth ont une courte durée de vie. Si une session dure plus longtemps que la durée de vie du jeton, le serveur renverra des erreurs d'authentification.
Solution : Redémarrez la connexion au serveur MCP dans votre IDE. La configuration relance @deque/axe-auth token à chaque démarrage du serveur, ce qui récupère automatiquement un nouveau jeton.
Déconnexion
Pour révoquer vos jetons côté serveur et les effacer du trousseau système :
npx @deque/axe-auth logoutSi la révocation côté serveur échoue (par exemple, en raison d'une erreur réseau), les jetons locaux sont tout de même effacés et un avertissement est affiché.
Ré-authentification
Si votre jeton de rafraîchissement a expiré ou a été révoqué, @deque/axe-auth token s'arrête avec le code 1 et vous invite à vous reconnecter. Exécutez à nouveau npx @deque/axe-auth login de nouveau. Passez --force pour ignorer l'invite de confirmation de réauthentification :
npx @deque/axe-auth login --forceRéférence de Commande
login
Ouvre un navigateur, complète le flux OAuth 2.0 Authorization Code + PKCE, et persiste les jetons dans le trousseau du système d'exploitation.
npx @deque/axe-auth login [options]| Drapeau | Description |
|---|---|
--server <url> |
URL de base de votre instance axe. Par défaut, https://axe.deque.com. Uniquement requis pour le cloud privé, les régions non américaines ou les installations sur site. |
--force |
Ignorer la confirmation de réauthentification lorsque vous êtes déjà connecté. |
--allow-insecure-issuer |
Autorise les URL http non-loopback (par défaut, uniquement https ; le loopback http est toujours autorisé). S'applique à login seulement ; token et logout utilisent la politique persistée lors de la connexion. |
--no-allow-insecure-issuer |
Forcer allowInsecureIssuer=false pour le nouveau login (et l'entrée qu'il persiste). Mutuellement exclusif avec --allow-insecure-issuer. token et logout ignorent ce drapeau. |
token
Imprime un jeton d'accès actuellement valide dans stdout. Se rafraîchit silencieusement si le jeton stocké est expiré. Quitte avec le code 1 si non authentifié.
npx @deque/axe-auth tokenlogout
Révoque le jeton de rafraîchissement stocké côté serveur et efface l'entrée du trousseau local.
npx @deque/axe-auth logout--help
Affiche les informations d'aide pour @deque/axe-auth et ses commandes.
npx @deque/axe-auth --help
npx @deque/axe-auth <command> --helpSupport de la Plateforme
| Plateforme | Stockage des Jetons |
|---|---|
| macOS | Trousseau macOS |
| Windows | Gestionnaire des informations d'identification Windows |
| Linux | Service Secret D-Bus (GNOME Keyring, KWallet, etc.) |
Linux : @deque/axe-auth nécessite un Service Secret D-Bus fonctionnel. Les environnements sans interface graphique ou à bureau minimal peuvent ne pas en disposer. Si vous voyez une erreur comme :
System keychain load failed: <details>. On Linux this usually means no D-Bus Secret Service is running (e.g. GNOME Keyring or KWallet).demandez à votre administrateur système de configurer GNOME Keyring ou un fournisseur de Service Secret compatible.
Dépannage
Le navigateur ne s'ouvre pas automatiquement
Si login ne peut pas ouvrir un navigateur, il imprime l'URL d'autorisation dans le terminal. Copiez l'URL et ouvrez-la manuellement pour compléter l'authentification.
Expiration des jetons lors de longues sessions
Voir Durée de vie des jetons ci-dessus. Redémarrez la connexion au serveur MCP dans votre IDE pour obtenir un nouveau jeton.
Erreur "Non authentifié" de token
Votre session a expiré ou les jetons ont été effacés. Exécutez npx @deque/axe-auth login à nouveau pour vous réauthentifier.
Erreurs d'authentification du serveur MCP
- Confirmez que seul
AXE_ACCESS_TOKENest défini (et nonAXE_API_KEY) - Confirmez
AXE_SERVER_URLque cela correspond à l'URL de votre instance axe — cela devrait être la même URL utilisée avec--serverlors de la connexion (ouhttps://axe.deque.comsi vous avez utilisé la valeur par défaut) - Exécutez
npx @deque/axe-auth tokendirectement dans votre terminal pour confirmer que vous avez un jeton valide - Si cela se termine avec le code
1, ré-authentifiez-vous avecnpx @deque/axe-auth login
Porte-clés Linux non disponible
Voir la prise en charge de la plateforme mentionnée ci-dessus.
