进阶 mastra.ai 2026-10-12 10:15:56 · 37 阅读

第20章 认证(Auth)

认证(Auth)

Mastra 允许你自由选择认证方式,用最适合你技术栈的身份系统来保护 API 和 Studio 的访问安全。

你可以先用简单的共享密钥 JWT 认证起步,等需要更高级的身份功能时再切换到成熟的认证服务商。

认证保护什么

配置认证后会同时锁定两处:

Studio UI:Studio 会显示登录界面(SSO、邮箱/密码,或两者兼有)。如果同时配置了 RBAC 提供商,Studio 还会执行基于角色的访问控制,决定每个团队成员能看到和操作什么。

API 路由:内置路由(/api/agents/*、/api/workflows/* 等)和自定义路由都需要认证,无论请求来自 Studio 还是直接的 API 调用。少数内置路由保持公开,比如 Studio 用来检测登录状态的 GET /api/auth/capabilities。

认证是可选的。如果不配置认证,所有路由和 Studio 都将公开可访问。你也可以通过 requiresAuth: false 让单个自定义路由对外开放。

控制自定义端点的认证方式请参阅「自定义 API 路由」。有关保护 Studio 部署的更多内容,请查阅 Studio Auth 文档。

警告:默认认证配置保护 /api/*,并将 /api、/api/auth/* 视为公开。当你设置了自定义的 server.apiPrefix 后,这些默认值不再匹配,内置路由会脱离保护范围。请相应更新 server.auth.protected 和 server.auth.public 以引用新的前缀。

注意:Studio 认证目前支持以下提供商:Simple Auth、JWT、WorkOS、Better Auth 和 Google。

可用提供商

内置

Simple Auth:Token 到用户的映射,适用于开发和 API 密钥 JSON Web Token:HMAC 签名的 JWT 验证

第三方集成

Auth0、Better Auth、Clerk、Firebase、Google、Okta、Supabase、WorkOS

高级

Composite Auth:组合多个认证提供商 Custom Provider:构建你自己的提供商

评论 (0)