用途:该技能面向在应用中集成 Clerk 认证,覆盖 Next.js App Router 的完整接入流程,以及中间件、组织、Webhook 和用户同步等常见需求。
主要能力:
- Next.js App Router 设置:适用于 Next.js 14/15,包含 ClerkProvider、环境变量以及基础登录/注册组件。关键组件包括 ClerkProvider(为应用包裹认证上下文)、预构建的登录与注册表单,以及带会话管理的用户菜单。
- 中间件路由保护:使用 clerkMiddleware 与 createRouteMatcher 保护路由。建议在项目根目录维护单个 middleware.ts 文件,用 createRouteMatcher 处理路由组,用 auth.protect() 做显式保护,并将所有认证逻辑集中在中间件中。
- 服务端组件认证:在 Server Components 中通过 auth() 与 currentUser() 访问认证状态。auth() 返回 userId、sessionId、orgId、claims;currentUser() 返回完整 User 对象。两者都要求先配置 clerkMiddleware。
使用方式:按上述模式在 Next.js 项目中配置 ClerkProvider、环境变量与中间件,再在服务端组件中调用 auth() 或 currentUser() 获取会话信息。
限制:资料中列出的若干“Sharp Edges”问题仅标注了严重级别(critical、high、medium)与“See docs”,未提供具体问题描述与解决方案,因此这些细节暂未提供。