用途:在项目中为 Metabase 嵌入实现 JWT SSO 认证,覆盖三种使用 SSO 的嵌入类型:Modular embedding(embed.js Web Components)、Modular embedding SDK(@metabase/embedding-sdk-react)与 Full App(iframe)。
主要能力:创建 JWT 签发端点,将宿主应用已认证用户映射为 Metabase JWT 字段(email、first_name、last_name、groups、exp);按检测到的嵌入类型配置前端认证层;添加 METABASE_JWT_SHARED_SECRET 环境变量;按需安装 JWT 签名库;输出 Metabase 管理端配置说明(JWT 设置、组映射、CORS)。
使用方式:按顺序执行工作流,先建检查清单再逐步执行并标记状态。Step 0 检测嵌入类型与 Metabase 实例版本;Step 1 扫描项目并抓取对应版本文档(https://www.metabase.com/docs/v0.{VERSION}/llms-embedding-full.txt);Step 2 设计认证架构;Step 3 规划改动;Step 4 应用代码;Step 5 验证;Step 6 总结。SSO 请求须经应用后端代理(FE → BE → Metabase /auth/sso),JWT 密钥不得暴露前端。
限制:不负责嵌入本身搭建、版本升级、Guest 嵌入认证及 SAML/LDAP;仅覆盖 JWT SSO。JWT 使用 HS256 签名,建议 exp 为 10 分钟。端点不得从请求体或查询参数接受用户身份,必须先校验会话。若无法确定嵌入类型、实例 URL、版本、认证机制、用户模型或后端语言,需先询问用户。SDK 包版本须与实例版本一致,否则先升级。