我很好奇针对受 Google IAP 保护的 restful-api 进行身份验证的“最佳实践”是什么。
请允许我逐步分解它以阐明我想要实现的目标:
- 转到我的开发环境的 url:
dev.blah.com
。在这里,IAP 提示我登录。我登录。我现在可以访问我的 SPA。 - 我正在浏览我的 SPA。但!我无法与我的 API 交谈,因为它也受 IAP 保护。
我已经读到我可以在文档中进行编程身份验证,但我不确定我的特定用例是否适合编程身份验证,或者它是否甚至是安全的。
那么,我是否正确,因为我必须实现客户端编程身份验证工作流程才能访问我的 API?
或者是否有另一种方式说“一旦我通过身份验证访问这个受 IAP 保护的资源,我也可以登录这些其他资源。” 我不能简单地复制令牌,因为它是http-only
并且 cookie 仅限于我当前的域。
一些附加信息:
- 我的服务在 Google Kubernetes Engine 集群中运行,并根据我声明的入口对象自动创建负载均衡器。
- 每个受 IAP 保护的环境都有自己的 OAuth 凭据,我将负载均衡器配置为使用 IAP:
gcloud compute backend-services update [backend-service] --global --iap=enabled,oauth2-client-id=[the_id],oauth2-client-secret=[the_secret]