Sha256: e5a464a45abc989860c4e32af56463dfe92959f06fadf960548446df368eaf94
Contents?: true
Size: 1.33 KB
Versions: 5
Compression:
Stored size: 1.33 KB
Contents
module JWTKeeper module Datastore class << self # @!visibility private def rotate(jti, seconds) set_with_expiry(jti, seconds, :soft) end # @!visibility private def revoke(jti, seconds) set_with_expiry(jti, seconds, :hard) end # @!visibility private def pending?(jti) value = get(jti) value.present? && value.to_sym == :soft end # @!visibility private def revoked?(jti) value = get(jti) value.present? && value.to_sym == :hard end private # @!visibility private def set_with_expiry(jti, seconds, type) redis = JWTKeeper.configuration.redis_connection if redis.is_a?(Redis) redis.setex(jti, seconds, type) elsif defined?(ConnectionPool) && redis.is_a?(ConnectionPool) redis.with { |conn| conn.setex(jti, seconds, type) } else throw 'Bad Redis Connection' end end # @!visibility private def get(jti) redis = JWTKeeper.configuration.redis_connection if redis.is_a?(Redis) redis.get(jti) elsif defined?(ConnectionPool) && redis.is_a?(ConnectionPool) redis.with { |conn| conn.get(jti) } else throw 'Bad Redis Connection' end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems