auth/workos/README.md
A WorkOS authentication provider for Mastra, enabling seamless integration of WorkOS authentication and authorization in your applications.
npm install @mastra/auth-workos
# or
yarn add @mastra/auth-workos
# or
pnpm add @mastra/auth-workos
import { Mastra } from '@mastra/core/mastra';
import { MastraAuthWorkos } from '@mastra/auth-workos';
// Initialize with environment variables
const auth = new MastraAuthWorkos();
// Or initialize with explicit configuration
const auth = new MastraAuthWorkos({
apiKey: 'your_workos_api_key',
clientId: 'your_workos_client_id',
});
// Enable auth in Mastra
const mastra = new Mastra({
...
server: {
auth,
},
});
The package requires the following configuration:
WORKOS_API_KEY: Your WorkOS API keyWORKOS_CLIENT_ID: Your WorkOS client IDYou can also provide these values directly when initializing the provider:
interface MastraAuthWorkosOptions {
apiKey?: string;
clientId?: string;
}
authenticateToken(token: string): Promise<WorkosUser | null>Verifies a JWT token using WorkOS JWKS and returns the user information if valid.
authorizeUser(user: WorkosUser): Promise<boolean>Checks if a user has admin privileges by verifying their organization memberships and roles.