> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # JSON Web Token La classe `MastraJwtAuth` fournit à Mastra un mécanisme d’authentification léger fondé sur les JSON Web Tokens (JWT). Elle vérifie les requêtes entrantes à l’aide d’un secret partagé et s’intègre au serveur Mastra via l’option `auth`. ## Installation Avant d’utiliser la classe `MastraJwtAuth`, vous devez installer le package `@mastra/auth`. **npm**: ```bash npm install @mastra/auth@latest ``` **pnpm**: ```bash pnpm add @mastra/auth@latest ``` **Yarn**: ```bash yarn add @mastra/auth@latest ``` **Bun**: ```bash bun add @mastra/auth@latest ``` ## Créer un JWT Pour authentifier les requêtes envoyées à votre serveur Mastra, vous avez besoin d’un JSON Web Token (JWT) valide signé avec votre `MASTRA_JWT_SECRET`. Le moyen le plus simple d’en générer un consiste à utiliser [jwt.io](https://www.jwt.io/) : 1. Sélectionnez **JWT Encoder**. 2. Faites défiler la page jusqu’à la section **Sign JWT: Secret**. 3. Saisissez votre secret (par exemple : `supersecretdevkeythatishs256safe!`). 4. Cliquez sur **Generate example** pour créer un JWT valide. 5. Copiez le jeton généré et définissez-le comme `MASTRA_JWT_TOKEN` dans votre fichier `.env`. ## Exemple d’utilisation Utilisez le JWT généré pour configurer `MastraJwtAuth` dans votre serveur Mastra : ```typescript import { Mastra } from '@mastra/core' import { MastraJwtAuth } from '@mastra/auth' export const mastra = new Mastra({ server: { auth: new MastraJwtAuth({ secret: process.env.MASTRA_JWT_SECRET, }), }, }) ``` Consultez la [référence de MastraJwtAuth](https://mastra.zisheng.pro/fr/reference/auth/jwt) pour découvrir toutes les options de configuration disponibles. Dans [Studio](https://mastra.zisheng.pro/fr/docs/studio/overview), ouvrez **Settings**, puis sélectionnez le bouton **« Add Header »** sous **Headers**. Saisissez `Authorization` comme nom d’en-tête et `Bearer ` comme valeur. ## Configurer `MastraClient` Lorsque `auth` est activé, toutes les requêtes effectuées avec `MastraClient` doivent inclure un JWT valide dans l’en-tête `Authorization` : ```typescript import { MastraClient } from '@mastra/client-js' export const mastraClient = new MastraClient({ baseUrl: 'https://', headers: { Authorization: `Bearer ${process.env.MASTRA_JWT_TOKEN}`, }, }) ``` Consultez le [SDK client Mastra](https://mastra.zisheng.pro/fr/docs/server/mastra-client) pour davantage d’options de configuration. ### Effectuer des requêtes authentifiées Une fois `MastraClient` configuré, vous pouvez envoyer des requêtes authentifiées depuis votre application frontend ou utiliser `curl` pour effectuer rapidement des tests locaux : **React**: ```tsx import { mastraClient } from '../../lib/mastra-client' export const TestAgent = () => { async function handleClick() { const agent = mastraClient.getAgent('weatherAgent') const response = await agent.generate('Weather in London') console.log(response) } return } ``` **cURL**: ```bash curl -X POST http://localhost:4111/api/agents/weatherAgent/generate \ -H "Content-Type: application/json" \ -H "Authorization: Bearer " \ -d '{ "messages": "Weather in London" }' ```