def self.jwt_revoked?(payload, user)
# Hook in here to refresh token
token = user.allowlisted_jwts.where(payload.slice('jti', 'aud')).first
if token.present? && (SOME LOGIC ABOUT YOUR EXPIRATION HERE)
token.update_column(:exp, Time.now + SOME TIME)
end
token.blank?
end
2条答案
按热度按时间w51jfk4q1#
我最后做的是这样的:
在我的允许列表中:
在那里我会检查到期时间。例如,如果您的令牌持续了60秒,并且您希望刷新至少30秒的时间。您可以编写:
2admgd592#
不幸的是Devise-jwt不支持刷新令牌,但是您可以在链接implementing jwt refresh token and access token中找到实现刷新令牌的更好方法