Devise + Omniauth for google only login



我正在开发一个与Google API交互的Web应用程序。

由于使用该应用程序的唯一方法是通过谷歌帐户,我只想允许通过谷歌帐户登录。

我想我会使用"omniauth-google-oauth2"策略,因为OAuth2是访问google API的首选方式。为了处理登录本身,我想使用 Devise,因为我不喜欢从头开始编写它(因此重新发明轮子并必须关心与登录系统相关的所有安全问题)。

我的问题是我可以禁用非谷歌帐户的设计登录吗?

在您的用户模型中,您将有如下所示的行:

  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable, :omniauthable

你想做的是简单地删除你不想要的策略。每个是什么的解释可以在设计存储库的页面上找到。

实际上,您希望保留:omniauthable并删除提供基于密码的身份验证的:database_authenticatable

最新更新