6

我已经在开发环境中设置了 Cloud IAP(使用 Kubernetes 启动并使用 Let's Encrypt),一切正常。

这个应用程序的设置非常基本:

1)在项目AAPI中具有多个 REST 端点和持久数据存储的

2)在不同的项目BSPA中使用上述的前端应用程序API

在我的浏览器(尝试过 Chrome 和 Firefox)中,我可以通过 IAP 屏幕(通过转到浏览器选项卡中的每个域)在这两个应用程序中验证我的 Google 用户,但是一旦我尝试使用SPA并尝试向.查看网络请求 302 重定向到 Google IAP 登录页面。API

问题:是否需要代表用户通过API请求发送标头或 cookie,以便 IAP 允许直通?

请注意 ,我看到这两个 cookie 顺便说一句GCP_IAAP_AUTH_TOKENGCP_IAAP_XSRF_NONCE.

4

1 回答 1

6

IAP、“API”或“SPA”保护了什么?如果是 SPA,IAP 应该可以正常工作。如果它是 API,那么您今天最好的选择是使用https://cloud.google.com/iap/docs/authentication-howto让 SPA 对 API 进行身份验证,也许还可以将其传递给https://cloud.google。 com/iap/docs/signed-headers-howto以便 API 可以单独验证最终用户的凭据。

将 GCP_IAAP_AUTH_TOKEN 从 SPA 传递到 API 将不起作用,出于安全原因,我们在将请求传递给最终用户应用程序之前将其剥离(如果负载均衡器和应用程序之间的传输是 HTTP,只是为了让生活更艰难一点对于攻击者。)

于 2017-05-16T21:42:25.033 回答