是否可以仅限制登录到我的网络应用程序中的Google帐户中的帐户?
我不希望每个人都可以使用他们的私人Gmail登录,但只能登录我的谷歌群组中的用户。
我一直在研究这个问题,有几个选择可以做到这一点。首先,如果您在托管域上使用G Suite,则可以在登录Oauth请求中提供hd
参数,并将其设置为您的域。这不允许任何拥有gmail地址而不是@ yourhost.com的人进行身份验证。在同一步骤中,您可以请求访问(授权)代表该用户调用Groups API(根据@jwilleke的响应)。此时,您可以使用您获得的令牌,并在后端为私人组发出请求,并查看该用户是否属于该用户。如果是,请让他们进入,如果不是,则拒绝访问。
我一直在寻找其他方法来实现这一点但是我没有找到一种方法,只需通过在GCP中启动的Oauth客户端ID中应用一些角色,就可以简单地提供组授权。我能想到的另一件事就是以某种方式创建您的应用程序,允许您将其作为原始身份验证请求中的范围提供。我知道你可以创建自己的API,而不是使用Cloud Endpoints,但是我不确定这是否最终会让你得到你想要的东西。像Ping / Okta这样的服务提供商具有这种功能,因为他们可以为Oidc流提供中间人/提供接口。
出现有一个OAuth Scope for groups可用。 -Jim