Clerk认证专家技能Skill clerk-auth

该技能专注于Clerk用户认证服务的实现,提供专家级模式,涵盖Next.js应用路由设置、中间件保护、服务器组件认证等。适用于快速集成认证功能,提升Web应用安全性。关键词:Clerk认证、Next.js、中间件、路由保护、用户同步、Webhooks、身份验证、登录注册。

身份认证 0 次安装 0 次浏览 更新于 3/21/2026

名称: clerk-auth 描述: “Clerk认证实现的专家模式,包括中间件、组织、Webhooks和用户同步。使用场景:添加认证、Clerk认证、用户认证、登录、注册。” 来源: vibeship-spawner-skills (Apache 2.0)

Clerk认证

模式

Next.js App路由设置

完整的Clerk设置,适用于Next.js 14/15应用路由器。

包括ClerkProvider、环境变量和基本的登录/注册组件。

关键组件:

  • ClerkProvider:包装应用以提供认证上下文
  • <SignIn />、<SignUp />:预构建的认证表单
  • <UserButton />:带有会话管理的用户菜单

中间件路由保护

使用clerkMiddleware和createRouteMatcher保护路由。

最佳实践:

  • 在项目根目录创建一个单一的middleware.ts文件
  • 使用createRouteMatcher进行路由分组
  • auth.protect()用于显式保护
  • 将所有认证逻辑集中在中间件中

服务器组件认证

使用auth()和currentUser()访问服务器组件中的认证状态。

关键函数:

  • auth():返回userId、sessionId、orgId、claims
  • currentUser():返回完整的User对象
  • 两者都需要配置clerkMiddleware

⚠️ 注意事项

问题 严重性 解决方案
问题 严重 参见文档
问题 参见文档
问题 参见文档
问题 参见文档
问题 中等 参见文档
问题 中等 参见文档
问题 中等 参见文档
问题 中等 参见文档