我尝试了不同的官方教程,但最终都具有误导性。
最后一个是这样的:https ://cloud.google.com/iap/docs/cloud-run-sign-in——它说:
启用外部身份,并在设置期间选择为我主持登录页面选项。
但没有这样的选择。没有创建新的 Cloud Run 实例,因此没有发生任何事情。过了一会儿,我更新了我的应用程序的源代码,重新部署,蓝色登录按钮出现在 Cloud Run 实例 URL 上。没有文档告诉“在这一步你现在会看到蓝色按钮”,所以我不确定它是什么。当我通过对话框时,它说我应该将 Cloud Run 实例 URL 添加到我一周前通过尝试我首先提到的不同教程创建的 OAuth 应用程序中的“允许的来源”。啊哈!我添加了允许的 URL,但这什么也没做——它只是循环,对话框让我在同一个页面上使用相同的蓝色按钮而不是我现在实际上无法访问的 Cloud Run 实例响应。我是 GCP 项目的所有者,我希望这一切都可以检查是否是我调用 Cloud Run。这个特定的 OAuth 应用程序是如何阻止这个特定的 Cloud Run 实例的?我有几个月或几年制作的多个应用程序和多个 Cloud Run 实例,但直到现在才出现这个蓝色按钮。
由于无法使其工作,我决定将其全部回滚。我允许对我的 Cloud Run 实例进行未经身份验证的调用,禁用 IAP API,删除 OAuth 应用程序,重新部署了几次,但蓝色按钮仍然存在,对话框显示:“OAuth 客户端已删除。” 而且我没有看到像我目前的问题在https://cloud.google.com/run/docs/troubleshooting上描述的那样
所以现在不仅整个事情没有工作(“登录页面”没有部署,即使我再次禁用和启用 IAP API 也没有)而且我完全失去了对 Cloud Run实例的访问权限 - - 它被无法禁用的蓝色按钮阻止。即使当我部署新服务时,他们也是这个坏事的幕后黑手。
UPD:一段时间后,我意识到我并没有真正失去任何访问权限——“蓝色按钮”是尝试设置身份验证失败的产物,我自己复制粘贴的 htm 页面不起作用,并且我只是访问了附加到服务 URL 的错误路径。所以这个问题是半无效的。尽管“为我创建登录页面”的问题仍然存在。