使用IAP的Spinnaker身份验证

时间:2019-02-21 13:34:32

标签: google-cloud-platform cors in-app-purchase google-kubernetes-engine spinnaker

我们正在尝试使用IAP在Spinnaker中启用身份验证。

  • Spinnaker使用HAL部署在GKE中

  • 使用Ingress将Deck和Gate暴露给不同的域,并且两者都启用了HTTPS。

  • IAP已启用并创建了凭据。

  • IAP的
  • HAL配置已完成并重新部署。 UI和API的BaseURL已设置。

  • CORS模式设置为UI URL。

现在,当我尝试打开应用程序时,最初重定向到https://accounts.google.com/o/oauth2/v2/auth?....几次失败(CORS错误),然后才将我发送到登录页面。登录后,我的名字会出现在Spinnaker的欢迎页面中。在此阶段之后,所有API(Gate)调用都将失败,并出现CORS错误(CORS策略阻止了对来自源'https://spinnaker-api.abc.com/webhooks/preconfigured'的'https://spinnaker.abc.com'处XMLHttpRequest的访问:对预检请求的响应未通过访问控制检查:所请求的资源上没有“ Access-Control-Allow-Origin”标头。)应用程序调用也存在同样的问题。

我们已经为UI和API设置了baseURL。因此,理想情况下,CORS应该得到照顾。

当我直接从浏览器中点击https://spinnaker-api.abc.com/applications时,我得到200响应。

任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,我回来了。必须使用IAP暴露甲板。 Deck有一个/ gate代理来进行门操作。将此设置为API baseurl(spinnakergate-domain.com/gate),即可正常使用。

我必须编辑.hal / default / service-settings / deck.yml文件以使/ gate代理可用。