【发布时间】:2019-02-21 13:34:31
【问题描述】:
我们正在尝试使用 IAP 在 Spinnaker 中启用身份验证。
使用 HAL 在 GKE 中部署 Spinnaker
Deck 和 Gate 使用 Ingress 暴露于不同的域,并且两者都启用了 HTTPS。
已启用 IAP 并创建凭据。
IAP 的 HAL 配置已完成并重新部署。已设置 UI 和 API 的 BaseURL。
将 CORS 模式设置为 UI URL。
现在,当我尝试打开应用程序时,最初重定向到 https://accounts.google.com/o/oauth2/v2/auth?.... 在将我发送到登录页面之前失败了几次(CORS 错误)。登录后,我的名字会出现在 Spinnaker 的欢迎页面中。在此阶段之后,所有 API(门)调用都因 CORS 错误而失败(从源 'https://spinnaker.abc.com' 对 XMLHttpRequest 的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。)。应用程序调用的问题也是如此。
我们已经为 UI 和 API 设置了 baseURL。所以理想情况下,CORS 应该已经被处理了。
当我直接从浏览器中点击https://spinnaker-api.abc.com/applications 时,我得到了 200 响应。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
您是如何实施 IAP 的?您是否使用任何云存储作为持久性存储?如果是,云存储中提供的权限是什么?
-
@shamma 集群连接了一些永久性磁盘。但是大三角帆部署/吊舱没有安装任何卷。我们可以找到任何说明如何配置 IAP 的文档。所以我们从多个来源获取输入。 Spinnaker 使用 HAL 部署,并使用 Ingress 和 Nodeports 向两个域名公开。 IAP 从控制台启用,HAL 用于在 Spinnaker 中启用 IAP。
-
为了重现该问题,我需要有关您的设置的更多详细信息。您能否分享您提到的用于指导的多个来源?您能否提供您收到的完整 CORS 错误?
-
云 IAP 目前不支持 CORS。这就是您收到此错误的原因。您可以提交公共问题以请求添加 [cloud.google.com/support/docs/issue-trackers] CORS 支持。
标签: google-cloud-platform cors in-app-purchase google-kubernetes-engine spinnaker