Implementation of user token storage backed by Redis. Tokens are stored as JSON using the supplied key, prefixed with `g-user-token:`
Create a new store with the supplied redis client.
@param [::Redis, String] redis
Initialized redis client to connect to.
@param [String] prefix
Prefix for keys in redis. Defaults to 'g-user-token:'
@note If no redis instance is provided, a new one is created and
the options passed through. You may include any other keys accepted by `Redis.new`
# File lib/googleauth/stores/redis_token_store.rb, line 51 def initialize(options = {}) redis = options.delete(:redis) prefix = options.delete(:prefix) @redis = case redis when Redis redis else Redis.new(options) end @prefix = prefix || DEFAULT_KEY_PREFIX end
(see Google::Auth::Stores::TokenStore#delete)
# File lib/googleauth/stores/redis_token_store.rb, line 76 def delete(id) key = key_for(id) @redis.del(key) end
(see Google::Auth::Stores::TokenStore#load)
# File lib/googleauth/stores/redis_token_store.rb, line 64 def load(id) key = key_for(id) @redis.get(key) end
(see Google::Auth::Stores::TokenStore#store)
# File lib/googleauth/stores/redis_token_store.rb, line 70 def store(id, token) key = key_for(id) @redis.set(key, token) end
Generate a redis key from a token ID
@param [String] id
ID of the token
@return [String]
Redis key
# File lib/googleauth/stores/redis_token_store.rb, line 89 def key_for(id) @prefix + id end