Google oauth - 限制登录到特定的 google 组

Google oauth - Restrict sign-in to a particular google group

是否可以限制仅 google 组中的帐户登录我的 Web 应用程序?

我不希望每个人都只能使用他们的私人 gmail 登录,但只有我的 google 组中的用户才能登录。

似乎有一个 OAuth Scope for groups 可用。 -吉姆

我一直在研究这个,有几个选项可以实现。首先,如果您在托管域上使用 G Suite,您可以在登录 Oauth 请求中提供 hd 参数,并将其设置为您的域。这将不允许任何拥有不是@yourhost.com 的 gmail 地址的人进行身份验证。在同一步骤中,您可以请求访问(授权)以代表该用户调用群组 API(根据@jwilleke 的回复)。那时你可以使用你得到的令牌并在你的后端为私有组发出请求并查看该用户是否是其中的一部分。如果是,则让他们进入;如果不是,则拒绝访问。

我一直在寻找其他方法来完成此操作,但是我还没有找到一种方法可以让您通过将某些角色应用于您在 GCP 中启动的 Oauth 客户端 ID 来简单地提供组授权。我能想到的唯一可行的方法是以某种方式创建您的应用程序,允许您将其作为原始身份验证请求中的范围提供。我知道您可以制作自己的 API,而不能使用 Cloud Endpoints 制作,但我不确定这是否最终能满足您的需求。 Ping / Okta 等服务提供商具有此类功能,因为它们可以充当中间人/为 oidc 流提供接口。