OAuth2 - 如何只允许 Google 应用程序用户?
OAuth2 - How to allow only Google Apps users?
我有 Rails 网络应用程序。
我有简单的用户身份验证,包括电子邮件和密码。
现在我需要使用 Google 添加 OAuth 身份验证,但我只需要允许使用 Google 应用程序的用户。有没有最好的方法,或者我只需要检查他们的域并允许除@gmail.com?
之外的所有域
注意:我已经看过有关指定 hd URI 参数的文档,但它仅适用于某些特定域,我需要任何域,但不需要 @gmail.com。
在您的 OAuth 范围列表中包含 email
。然后,在您返回的令牌中,如果它是 Google Apps 帐户,将会有一个 hd
属性。如果 hd
属性不存在,则它是一个消费者帐户。请注意,可以创建一个地址不是@gmail.com 或@googlemail.com 的消费者帐户。例如,我可以使用地址 jsmith@yahoo.com 或 jsmith@acme.com 创建一个消费者帐户,只要我能收到发送到这些地址的电子邮件即可。因此需要检查hd
而不是依赖于域名。
我有 Rails 网络应用程序。 我有简单的用户身份验证,包括电子邮件和密码。 现在我需要使用 Google 添加 OAuth 身份验证,但我只需要允许使用 Google 应用程序的用户。有没有最好的方法,或者我只需要检查他们的域并允许除@gmail.com?
之外的所有域注意:我已经看过有关指定 hd URI 参数的文档,但它仅适用于某些特定域,我需要任何域,但不需要 @gmail.com。
在您的 OAuth 范围列表中包含 email
。然后,在您返回的令牌中,如果它是 Google Apps 帐户,将会有一个 hd
属性。如果 hd
属性不存在,则它是一个消费者帐户。请注意,可以创建一个地址不是@gmail.com 或@googlemail.com 的消费者帐户。例如,我可以使用地址 jsmith@yahoo.com 或 jsmith@acme.com 创建一个消费者帐户,只要我能收到发送到这些地址的电子邮件即可。因此需要检查hd
而不是依赖于域名。