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