【问题标题】:Implementing JWT on Rails在 Rails 上实现 JWT
【发布时间】:2019-04-21 06:36:25
【问题描述】:

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

class User < ApplicationRecord  
devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable,
         :database_authenticatable,
         :jwt_authenticatable,
         jwt_revocation_strategy: JwtBlacklist 
end

这是我的 blacklist.rb 模型。

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

self.table_name = 'jwt_blacklist'
end

这就是我得到的。

Caused by:
NameError: uninitialized constant User::JwtBlacklist

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

【问题讨论】:

    标签: ruby-on-rails ruby jwt ruby-on-rails-5 token


    【解决方案1】:

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

    【讨论】:

    • 这确实帮助了我一点
    【解决方案2】:

    如果您将模型称为JwtBlacklist,则文件名必须jwt_blacklist.rb,以便自动加载器可以找到它。现在这个名字暗示模型被称为Blacklist

    【讨论】:

    • 非常感谢您的帮助。这就是解决方案。有一个很棒的朋友。
    猜你喜欢
    • 2019-02-24
    • 2017-07-25
    • 2018-10-27
    • 2019-07-11
    • 2018-11-27
    • 2021-12-12
    • 2018-03-08
    • 2020-11-03
    • 2021-04-26
    相关资源
    最近更新 更多