在 Rails 上实现 JWT

Mex*_*reg 1 ruby ruby-on-rails token jwt ruby-on-rails-5

我在尝试实现设计 jwt 时遇到问题。这是我的设计用户模型:

class User < ApplicationRecord  
devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable,
         :database_authenticatable,
         :jwt_authenticatable,
         jwt_revocation_strategy: JwtBlacklist 
end
Run Code Online (Sandbox Code Playgroud)

这是我的 blacklist.rb 模型。

class JwtBlacklist < ApplicationRecord
include Devise::JWT::RevocationStrategies::Blacklist

self.table_name = 'jwt_blacklist'
end
Run Code Online (Sandbox Code Playgroud)

这就是我得到的。

Caused by:
NameError: uninitialized constant User::JwtBlacklist
Run Code Online (Sandbox Code Playgroud)

希望你能帮我解决这个问题,我是 Rails 新手。非常感谢。

小智 9

请注意,include Devise::JWT::RevocationStrategies::Blacklistinclude Devise::JWT::RevocationStrategies::Denylist根据devise-jwt文档替换为。