0

当我允许未经身份验证的 AllUsers 访问或打开 IAM 以控制 Identity Aware Proxy 中的访问时,我有一个 Google Cloud App Engine 应用程序可以正常运行。但是,当我按照此页面https://cloud.google.com/iap/docs/cloud-run-sign-in上的说明启用使用外部身份的 Cloud Run 托管登录并尝试访问登录页面或Google Cloud Run 托管的登录页面,我在浏览器中收到以下错误。

“无法获取 URI /computeMetadata/v1/instance/service-accounts/default/token?scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/身份工具包”

就上下文而言,托管用户登录的 Google Cloud Run 服务设置为允许所有未经身份验证的用户。它应该重定向到 Google App Engine 网络应用程序。我认为这与权限或重定向有关,但我不知道如何解决。有什么想法吗?谢谢!

我试图通过重新部署 Cloud Run 服务、打开和关闭 IAP、在 IAM 和外部身份之间切换来修复,但没有成功。

感谢@John Hanley,我发现我的一个计算引擎服务帐户在项目中由于某种原因被禁用。重新启用部分解决了问题。我将花费更多时间来计算权限和重定向,以确保它们对齐。

我原本以为我完全回答了自己的问题并解决了我的问题。不幸的是,我在实现外部身份验证方法时只解决了其中一个问题。

另一个问题的描述:我启用了电子邮件/密码和谷歌作为提供者,但是当我点击通过谷歌进行身份验证的选项时,我在浏览器中收到以下文本:“请求的操作无效。”

在开发工具的控制台中,我收到以下错误:

获取https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=*mykey*&cb=1599165379363 403

URL 栏中显示以下 url:

https:// .firebaseapp.com/__/auth/handler?apiKey= mykey &appName=%5BDEFAULT%5D-firebaseui-temp&authType=signInViaRedirect&providerId=google.com&customParameters=%7B%22hl%22%3A%22en%22%7D&scopes= profile&redirectUrl=https%3A%2F%2Fiap-gcip-hosted-ui-app-engine-app-myserver-uc.a.run.app % 2F%3FapiKey%3D mykey**&v=7.16.0&fw=FirebaseUI-web

mykeymyserver在这篇文章中被删除,不是实际值。

电子邮件/密码登录有效,但谷歌登录无效。我在这里想念什么?

4

0 回答 0