> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Classe MastraAuthBetterAuth La classe `MastraAuthBetterAuth` fournit l'authentification des applications Mastra au moyen de Better Auth. Elle vérifie les requêtes entrantes à partir des sessions Better Auth et s'intègre au serveur Mastra via l'option `auth`. ## Exemple d'utilisation ```typescript import { Mastra } from '@mastra/core' import { MastraAuthBetterAuth } from '@mastra/auth-better-auth' import { betterAuth } from 'better-auth' // Create your Better Auth instance const auth = betterAuth({ database: { provider: 'postgresql', url: process.env.DATABASE_URL, }, emailAndPassword: { enabled: true, }, baseURL: process.env.BETTER_AUTH_URL, secret: process.env.BETTER_AUTH_SECRET, }) export const mastra = new Mastra({ server: { auth: new MastraAuthBetterAuth({ auth, }), }, }) ``` ## Paramètres du constructeur **auth** (`Auth`): Votre instance Better Auth créée avec betterAuth({ ... }). Elle est obligatoire et doit être correctement configurée avec un fournisseur de base de données pris en charge. **name** (`string`): Nom personnalisé de l'instance du fournisseur d'authentification. (Default: `'better-auth'`) **authorizeUser** (`(user: BetterAuthUser, request: HonoRequest) => Promise | boolean`): Fonction d'autorisation personnalisée qui détermine si un utilisateur doit obtenir l'accès. Elle est appelée après la vérification de la session. Par défaut, elle autorise tous les utilisateurs authentifiés disposant d'une session valide. **public** (`Array`): Routes publiques qui ne nécessitent pas d'authentification. Prend en charge les chemins exacts, les jokers et les paramètres de chemin. **protected** (`Array`): Routes protégées qui nécessitent une authentification. Prend en charge les chemins exacts, les jokers et les paramètres de chemin. ## Type `BetterAuthUser` Le type `BetterAuthUser` contient les informations de session et d'utilisateur renvoyées par Better Auth : ```typescript interface BetterAuthUser { session: Session user: User } ``` - `session` : objet de session Better Auth contenant les métadonnées de la session - `user` : objet de l'utilisateur authentifié contenant ses informations Les types `Session` et `User` sont exportés par le package Better Auth. ## Règles de correspondance - `public` et `protected` acceptent les chemins exacts, les motifs avec joker comme `/api/*` et les paramètres de chemin comme `/users/:id`. - Pour les règles propres à une méthode, utilisez des tuples tels que `["/api/agents", ["GET", "POST"]]`. - Si une route correspond à la fois à `public` et à `protected`, `public` est prioritaire et aucune authentification n'est requise. - Si aucune règle ne correspond, les routes sont considérées comme protégées par défaut, sauf si une route est explicitement marquée `requiresAuth: false`. ## Ressources associées [Classe MastraAuthBetterAuth](https://mastra.zisheng.pro/fr/docs/server/auth/better-auth)