【问题标题】:OAuth2 - How to allow only Google Apps users?OAuth2 - 如何只允许 Google Apps 用户?
【发布时间】:2015-05-05 06:24:03
【问题描述】:
我有 Rails 网络应用程序。
我使用电子邮件和密码进行简单的用户身份验证。
现在我需要向 Google 添加 OAuth 身份验证,但我只需要允许使用 Google Apps 的用户。有没有最好的方法,或者我只需要检查他们的域并允许除@gmail.com 之外的所有域?
注意:我已经看过有关指定 hd URI 参数的文档,但它仅适用于某些特定域,我需要任何,但不是 @gmail.com。
【问题讨论】:
标签:
ruby-on-rails
oauth
google-apps
google-authentication
【解决方案1】:
在您的 OAuth 范围列表中包含 email。然后,在您取回的令牌中,如果它是 Google Apps 帐户,则会有一个 hd 属性。如果hd 属性不存在,则它是一个消费者帐户。请注意,可以创建一个地址不是@gmail.com 或@googlemail.com 的消费者帐户。例如,我可以创建一个地址为 jsmith@yahoo.com 或 jsmith@acme.com 的消费者帐户,只要我能收到这些地址的电子邮件。因此需要检查hd而不是依赖于域名。