0

问题布局:我正在使用 AppEngine 界面,并且客户端使用 AD/Azure 进行身份验证。

我已经使用外部提供商(即 Azure 设置)设置了 IAP。谷歌提供的登录屏幕。

这样可行。

但是登录页面并没有显示使用项目google帐户登录的可能性,这对于开发人员来说真的很烦人。

我希望项目所有者/编辑者或具有特定角色的人也能够访问该界面。

我已经使用项目的 webclient id 和 secret 设置了 Google 以及外部提供商。

登录页面现在显示两个登录按钮。好的。

但它没有按预期工作。我被困在 Oauth 同意页面后面。有 3 个选项:内部、测试或生产。

  • 内部不起作用。
  • 我想测试会起作用,但我必须手动添加用户/开发人员。没有与 IAM 用户的链接。
  • 生产工作正常,但每个拥有 gmail 帐户的人都可以访问。

我错过了什么?

我猜想链接回该项目的外部谷歌提供商会限制用户的访问。

我应该检查什么?

有没有更好的方法来获得想要的设置?

4

1 回答 1

1

IAP 默认依赖 IAM 服务:它检查身份验证和身份以允许访问。这很正常,因为只有 Google 托管帐户可以添加到 IAM 服务。

当您切换到外部提供商时,该帐户不再由 Google 管理,而是由外部提供商管理,IAP 仅检查身份验证是否有效并且来自授权的外部提供商。您无法在 IAM 服务中添加不受 Google 管理的电子邮件来执行身份检查。

因此,只有经过身份验证的用户才能访问您的应用程序。如果您添加 Google Provider,则所有经过正确身份验证的 Google 帐户都可以访问您的应用。Facebook 和其他提供商也是如此。

请注意,您也无法筛选 Azure 帐户。您的租户的所有 Azure 帐户都将获得授权,而不是该租户中有限的电子邮件列表。

于 2021-11-30T19:34:05.927 回答