SuperAPI AI 工具集

implementing-saaskit-nextjs

前端与建站

查看项目

更新于 10-16 04:32

技能介绍

用途:在 Next.js App Router 项目中实现 Scalekit SaaSKit 认证,参考仓库为 scalekit-inc/scalekit-nextjs-auth-example。

主要能力:提供登录、回调、登出、令牌刷新、令牌校验等 API 路由的集成方式;以 HttpOnly 的 scalekit_session Cookie 管理会话;提供 isAuthenticated、getCurrentUser、getAccessToken、hasPermission 等工具;支持角色与权限声明解析;支持 Deep link 保留与按权限控制的页面。

使用方式:依赖安装使用 npm install @scalekit-sdk/node jose,无需客户端 Cookie 库。需配置环境变量 SCALEKIT_ENVIRONMENT_URL、SCALEKIT_CLIENT_ID、SCALEKIT_CLIENT_SECRET、SCALEKIT_REDIRECT_URI、NEXT_PUBLIC_APP_URL,可选 SCALEKIT_SCOPES。SCALEKIT_REDIRECT_URI 必须与 Scalekit 控制台允许的回调地址完全一致。SDK 客户端以单例 getScalekitClient() 获取,通过 @scalekit-sdk/node 的 ScalekitClient 初始化。

关键约束:必须在 middleware.ts 校验受保护路径,并在 Server Component 中用 isAuthenticated() 二次检查;Cookie 设置 sameSite 为 lax(不能用 strict),HttpOnly,生产环境启用 secure;不在客户端暴露 access_token 与 refresh_token;next 重定向参数须在服务端校验为相对路径以防开放重定向;受保护页面设置 Cache-Control: no-store 或 dynamic = 'force-dynamic'。

适用场景:Next.js App Router 下需要 OIDC 登录、会话保护、权限门控和跨标签页令牌刷新的 SaaS 应用。

限制:资料未提供具体收费、价格、平台兼容范围或性能数据;实现细节以官方参考仓库和 Scalekit 文档为准。