是否可以将 google 身份验证限制为特定用户组?

Is it possible to restrict google authentication to specific group of users?

我最近在我的一个 rails 5 应用程序中使用了 omniauth-google-oauth2 gem 来验证用户身份,并且工作正常。该应用程序适用于特定的用户群体,在我的例子中是大学的学生。所有用户都有一个 google 帐户,其电子邮件地址以 @ait.asia@ait.ac.th 结尾。

是否可以将身份验证仅限于上述用户。即只有电子邮件地址以 @ait.asia@ait.ac.th?

结尾的用户

当您将 OmniAuth 中间件添加到您的应用程序时,您可以将 Google 个应用程序托管域列表传递给 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