SuperAPI AI 工具集

convex-auth

安全与审计

查看项目

更新于 10-15 13:58

技能介绍

用途

Convex Auth 用于在 Convex 应用中实现身份认证与授权模式,支持通过 OIDC 提供商或 Convex Auth 方案进行集成。适用于认证提供商配置、ctx.auth 使用、用户身份读取等场景。

主要能力

身份读取

在函数中,ctx.auth.getUserIdentity() 返回 tokenIdentifier、subject、issuer 以及提供商声明(claims)。自定义 JWT 认证可能以 identity["properties.email"] 风格的路径暴露声明。

用户存储模式

  • 通过客户端 mutation 从 JWT 存储用户,或通过提供商 webhook 进行用户 upsert。
  • 索引查找应使用 by_token / byExternalId。

Webhook

必须通过 HTTP actions 实现,并使用提供商 SDK 验证签名;签名密钥必须存储在环境变量中。

Convex Auth(Beta)支持的方法

  • 魔法链接与 OTP:基于电子邮件的链接或验证码。
  • OAuth:GitHub、Google、Apple 等。
  • 密码:支持重置流程和可选的邮箱验证。
  • 组件:不提供 UI 组件,必须使用库钩子在 React 中自行构建。
  • Next.js:SSR/中间件支持处于实验/测试阶段。

服务端函数模式

  • 必须通过 ctx.auth.getUserIdentity() 读取身份。
  • 必须在每个公开函数中强制执行行级授权。
  • 不应通过公开函数暴露敏感逻辑,优先使用内部函数。

服务间访问

如果没有可用的用户 JWT,应使用共享密钥模式。密钥必须存储在部署环境变量中,不得硬编码。

客户端指导

必须遵循提供商快速入门,不得自行发明流程。不应在仅客户端代码中依赖认证数据而不进行服务端验证。

使用方式

该技能以指导性规则形式提供认证与授权实现模式,具体安装命令、代码示例和配置步骤暂未提供。

适用场景

适用于需要在 Convex 应用中集成认证提供商、实现用户身份管理、行级授权、Webhook 用户同步以及服务间安全访问的开发者。

限制

  • Convex Auth 处于 Beta 阶段。
  • Next.js 的 SSR/中间件支持为实验/测试阶段。
  • 不提供 UI 组件,需自行构建。
  • 具体安装命令、代码示例和配置细节暂未提供。