我正在使用OmniAuth和Devise对用户进行身份验证。我希望使用 OmniAuth 提供程序注册的用户能够设置可选密码(API 身份验证所需),但我遇到了困难。
如果用户通过 OmniAuth 创建帐户并尝试设置密码,则会收到以下错误:
BCrypt::Errors::InvalidHash in RegistrationsController#update
我相信这是因为密码是空白的。有什么好办法解决这个问题?我考虑过生成一个随机密码,但这种方法的问题是用户需要知道当前密码才能编辑设置。
编辑:我查看了允许用户在不需要当前密码的情况下更改设置,这就是我只想在用户最初没有密码的情况下做的事情。