Ruby敲gem与设计用户模型的集成



我的目标是用现有的设计用户模型实现knock-jwt实现。我遵循了来自knock github项目的README.md说明:
https://github.com/nsarno/knock

当我使用curl为现有用户发送jwt身份验证请求时:

curl -X POST -H "Content-Type: application/json" http://127.0.0.1:3000/knock/auth_token --data ' {"auth": {"email": "user@example.com", "password": "password"}} ' —verbose

我得到以下异常:

ArgumentError - wrong number of arguments (given 0, expected 1): devise (3.4.1) lib/devise/models/database_authenticatable.rb:147:in password_digest' activemodel (4.2.5.2) lib/active_model/secure_password.rb:103:in authenticate'

这里可能有什么问题?

调查以下链接后:

http://api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html#method-i-has_secure_password

这是一条重要的信息:

添加用于设置BCrypt密码并根据其进行身份验证的方法。此机制要求您具有password_dgest属性。

既然设计用于用户模型方法:

encrypted_password

您需要在用户活动模型中创建以下方法:

def password_digest
    self.encrypted_password
end

最新更新