用途:为原生 Next.js 应用(或已有项目)接入 ibl.ai SSO 认证,未登录用户重定向到 login.iblai.app,登录后带会话返回,无需管理 API token。
主要能力:创建认证相关文件(providers、store、SSO 回调、lib/iblai/*),并打补丁到 next.config、globals.css、.env.local;可自定义登录界面(标题、logo、页脚、隐私政策与使用条款链接等),通过 API 上传图片并 PUT 平台元数据。
使用方式:需 Next.js 14+ App Router、Node.js 18+。默认包管理器为 pnpm,未安装则回退 npm。项目名必须全小写。先检查项目根目录的 iblai.env(含 PLATFORM、DOMAIN、TOKEN),缺失时用 curl -o iblai.env 下载模板。随后渲染 assets/ 中的 Jinja2 模板到项目,安装依赖:pnpm add @iblai/iblai-js @reduxjs/toolkit react-redux sonner lucide-react,并在 app/layout.tsx 中用 IblaiProviders 包裹 children(须为最外层 provider)。SSO 回调 app/sso-login-complete/page.tsx 必须位于 providers 之外,否则登录会死锁。最后运行 pnpm dev,访问 http://localhost:3000。
适用场景:需要为 Next.js 应用快速接入 ibl.ai 统一登录、并统一品牌登录页的项目。
限制:不要向用户索要平台密钥,应从 iblai.env 读取 PLATFORM;iblai.env 不是 .env.local 的替代。next.config 必须对 @reduxjs/toolkit 做 webpack resolve.alias 去重,否则 RTK Query hooks 会静默返回 undefined。localhost 下 /api/custom-domains 报错可忽略。其余未在资料中说明的细节暂未提供。