用途:帮助用户在外部应用中嵌入 Looker 私有内容(仪表板、Look、Explore、报表等),支持 SSO(签名)嵌入与无 Cookie 嵌入两种方式。SSO 通过父应用生成加密签名 URL 认证用户;无 Cookie 嵌入使用短期令牌缓解第三方 Cookie 拦截,需 Looker 22.20+。
主要能力:推荐使用 Looker JavaScript Embed SDK,安装后可用 getEmbedSDK().init('looker.example.com', '/auth') 初始化 SSO,或用 initCookieless 初始化无 Cookie 模式。SDK 2.0.0+ 支持统一连接,可在不重建 iframe 的情况下切换内容,如 createDashboardWithId('42').appendTo('#embed-container').build().connect(),并支持 loadDashboard、loadUrl 导航。后端 /auth 端点需按固定顺序拼接字段并用 Embed Secret 做 HMAC-SHA1 签名;也可改用 Looker API 的 create_sso_embed_url 避免手工签名错误。无 Cookie 模式需两个后端端点:acquire_embed_cookieless_session 获取令牌(session_reference_token 须留在服务端),以及 generate_tokens_for_cookieless_session 在令牌临近过期时刷新。高级功能包括动态 iframe 高度、全屏、对话框滚动、合并查询编辑流。
使用方式:按资料中的安装与初始化代码接入 SDK;后端实现签名或 API 调用;配置嵌入域名允许列表。
适用场景:需要将 Looker 内容集成到外部应用并统一身份认证的团队。
限制:签名参数顺序、JSON 序列化与编码必须精确,否则报 Invalid Signature;部分 SDK 版本的 EmbedSsoParams 可能不接受 access_filters 关键字参数;无 vanity 域名时 Safari 等浏览器会拦截第三方 Cookie,需改用无 Cookie 嵌入或 vanity 域名;需确保用户具备 access_data 权限及模型访问权。具体收费、价格与平台支持范围暂未提供。