Class: JwtAuthCognito::TokenBlacklistService
- Inherits:
-
Object
- Object
- JwtAuthCognito::TokenBlacklistService
- Defined in:
- lib/jwt_auth_cognito/token_blacklist_service.rb
Instance Method Summary collapse
- #add_to_blacklist(token, user_id: nil) ⇒ Object
- #clear_all_blacklisted_tokens ⇒ Object
-
#initialize(config = JwtAuthCognito.configuration) ⇒ TokenBlacklistService
constructor
A new instance of TokenBlacklistService.
- #invalidate_user_tokens(user_id) ⇒ Object
- #is_blacklisted?(token) ⇒ Boolean
Constructor Details
#initialize(config = JwtAuthCognito.configuration) ⇒ TokenBlacklistService
5 6 7 8 |
# File 'lib/jwt_auth_cognito/token_blacklist_service.rb', line 5 def initialize(config = JwtAuthCognito.configuration) @config = config @redis_service = RedisService.new(config) end |
Instance Method Details
#add_to_blacklist(token, user_id: nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/jwt_auth_cognito/token_blacklist_service.rb', line 10 def add_to_blacklist(token, user_id: nil) token_id = @redis_service.generate_token_id(token) ttl = calculate_ttl(token) result = @redis_service.save_revoked_token(token_id, ttl) # Track token for user if provided @redis_service.track_user_token(user_id, token_id, ttl) if user_id result end |
#clear_all_blacklisted_tokens ⇒ Object
31 32 33 |
# File 'lib/jwt_auth_cognito/token_blacklist_service.rb', line 31 def clear_all_blacklisted_tokens @redis_service.clear_revoked_tokens end |
#invalidate_user_tokens(user_id) ⇒ Object
27 28 29 |
# File 'lib/jwt_auth_cognito/token_blacklist_service.rb', line 27 def invalidate_user_tokens(user_id) @redis_service.invalidate_user_tokens(user_id) end |
#is_blacklisted?(token) ⇒ Boolean
22 23 24 25 |
# File 'lib/jwt_auth_cognito/token_blacklist_service.rb', line 22 def is_blacklisted?(token) token_id = @redis_service.generate_token_id(token) @redis_service.is_token_revoked?(token_id) end |