SuperAPI AI 工具集

cors-api

编程与开发

查看项目

更新于 10-16 00:01

技能介绍

用途:该技能描述 Looker 的 Direct Browser OAuth 模式,使前端应用能直接在浏览器中完成用户认证,并通过 CORS 安全调用 Looker API,无需自定义后端代理。

主要能力:利用 Looker 内置的 OAuth2 与 PKCE(Proof Key for Code Exchange)在浏览器内完成整个认证流程。架构包含三部分:执行 OAuth 流程并直接 fetch 调用 Looker API 的浏览器应用、处理登录与授权并签发访问令牌的 Looker 认证服务器、以及通过 CORS 直接向浏览器提供数据的 Looker API。

使用方式:应用生成随机的 code_verifier 及其 SHA-256 哈希 code_challenge,将用户重定向到 Looker 的 /auth 端点,参数包括 client_id、redirect_uri、code_challenge 和通常为 cors_api 的 scope。用户登录并授权后,Looker 携带 authorization_code 回调 redirect_uri;应用将 authorization_code 与原始 code_verifier 发送到 /api/token 端点换取 access_token,之后在 Authorization: Bearer 头中使用该令牌调用 API。

配置要求:需在 Looker 中注册 OAuth 应用以获得 client_id;redirect_uri 必须与注册值完全一致;应用源需加入 Embedded Domain Allowlist(Admin > Embed)以允许 CORS 头。安全上必须通过 HTTPS 提供服务,并建议使用可靠库或 Looker SDK 处理 PKCE 逻辑。

适用场景:希望零后端、以用户身份继承其 Looker 权限与数据访问范围的前端应用。

限制与常见问题:client_id 错误、redirect_uri 不匹配(含斜杠、协议、路径差异)、非安全上下文导致 window.crypto 不可用、以及源未加入允许列表导致 CORS 预检失败。具体实现细节与完整代码示例暂未提供。