我正在开发一个与Google API交互的Web应用程序。
由于使用该应用程序的唯一方法是通过谷歌帐户,我只想允许通过谷歌帐户登录。
我想我会使用"omniauth-google-oauth2"策略,因为OAuth2是访问google API的首选方式。为了处理登录本身,我想使用 Devise,因为我不喜欢从头开始编写它(因此重新发明轮子并必须关心与登录系统相关的所有安全问题)。
我的问题是我可以禁用非谷歌帐户的设计登录吗?
在您的用户模型中,您将有如下所示的行:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
你想做的是简单地删除你不想要的策略。每个是什么的解释可以在设计存储库的页面上找到。
实际上,您希望保留:omniauthable
并删除提供基于密码的身份验证的:database_authenticatable
。