有没有办法刷新devise-jwt在Rails中提供的JWT令牌?还是强制用户重新进行身份验证的最佳实践?
发布于 2020-10-26 01:51:01
我最终做的是这样的:
在我的允许列表中:
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在那里我会检查过期时间。例如,如果您的令牌持续60秒,并且您希望刷新至少30秒的令牌。你可以这样写:
if token.present? && token.exp < (Time.now+30.seconds)
token.update_column(:exp, Time.now+60.seconds)
endhttps://stackoverflow.com/questions/53761563
复制相似问题