簡體   English   中英

ROR:devise-jwt:如何調用 jwt_revoked? function?

[英]ROR: devise-jwt : how to call jwt_revoked? function?

我正在為我的 ror api 使用 devise 和 devise-jwt。 如果發送的用戶不記名令牌被撤銷,我想知道用戶(通過 api 調用)。

我做了這條路線:

  def user_token_revoked
    decoder = JWT::Decode.new(
      request.headers['Authorization'].split(' ')[1],
      'GENERATED_TOKEN',
      nil,
      nil
    )
    decoded = decoder.decode_segments
    user = User.find_by_id(decoded[0]['sub']) # get id user from decoded token
    render json: user.jwt_revoked?(decoded), status: :ok
  end

但它給我帶來了這個錯誤:#<NoMethodError: undefined method `jwt_revoked?' 對於#用戶:0x0000558992eb9b98>

我在我的 model 中使用這個 jwt_revocation_strategy: JwtBlacklist:

class JwtBlacklist < ApplicationRecord
  include Devise::JWT::RevocationStrategies::Denylist
  self.table_name = 'jwt_blacklists'
end

如何調用 jwt_revoked? function??

謝謝

jwt_revoked? Devise::JWT::RevocationStrategies::Denylist模塊的一部分。 所以你需要調用JwtBlacklist model

JwtBlacklist.jwt_revoked?(decoded, user)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM