【问题标题】:Is it possible to restrict google authentication to specific group of users?是否可以将 google 身份验证限制为特定的用户组?
【发布时间】:2017-10-08 10:32:27
【问题描述】:
我最近在我的 Rails 5 应用程序之一中使用了omniauth-google-oauth2 gem 来验证用户,它工作正常。该应用程序适用于特定的用户组,在我的例子中是一所大学的学生。所有用户都有一个谷歌帐户,其电子邮件地址以@ait.asia 或@ait.ac.th 结尾。
是否可以将身份验证仅限于上述用户。即只有电子邮件地址以@ait.asia 或@ait.ac.th 结尾的用户?
【问题讨论】:
标签:
ruby-on-rails-5.1
omniauth-google-oauth2
【解决方案1】:
当您将 OmniAuth 中间件添加到您的应用程序时,您可以将 Google Apps 托管域的列表传递给 hd 选项。
因此,在您的情况下,您可以像这样制作一个初始化程序:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2,
ENV["GOOGLE_CLIENT_ID"],
ENV["GOOGLE_CLIENT_SECRET"],
hd: %w(ait.asia ait.ac.th)
你可以看到完整的配置选项列表here