# MastraAuthClerk Class The `MastraAuthClerk` class provides authentication for Mastra applications using Clerk. It verifies incoming requests with Clerk-issued JWT tokens and integrates with the Mastra server using the `auth` option. ## Usage example ```typescript import { Mastra } from "@mastra/core"; import { MastraAuthClerk } from "@mastra/auth-clerk"; export const mastra = new Mastra({ server: { auth: new MastraAuthClerk({ jwksUri: process.env.CLERK_JWKS_URI, publishableKey: process.env.CLERK_PUBLISHABLE_KEY, secretKey: process.env.CLERK_SECRET_KEY, }), }, }); ``` ## Constructor parameters **publishableKey?:** (`string`): Your Clerk publishable key. Can be found in your Clerk Dashboard under API Keys. (Default: `process.env.CLERK_PUBLISHABLE_KEY`) **secretKey?:** (`string`): Your Clerk secret key. Used for server-side authentication and token verification. (Default: `process.env.CLERK_SECRET_KEY`) **jwksUri?:** (`string`): The JWKS URI from your Clerk application. Used to verify JWT signatures. (Default: `process.env.CLERK_JWKS_URI`) **name?:** (`string`): Custom name for the auth provider instance. **authorizeUser?:** (`(user: User, request: HonoRequest) => Promise | boolean`): Custom authorization function to determine if a user should be granted access. Called after token verification. By default, allows all authenticated users. ## Related [MastraAuthClerk Class](https://mastra.ai/docs/server/auth/clerk)