Class: Devise::Web3::RedisStore

Inherits:
Object
  • Object
show all
Defined in:
lib/devise/web3/redis_store.rb

Constant Summary collapse

TTL =
10.minutes.to_i
NONCE_KEY =
"web3-auth-nonce"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRedisStore

Returns a new instance of RedisStore.



11
12
13
# File 'lib/devise/web3/redis_store.rb', line 11

def initialize
  @redis = Redis.new(url: Devise::Web3::Config.redis_url)
end

Instance Attribute Details

#redisObject (readonly)

Returns the value of attribute redis.



6
7
8
# File 'lib/devise/web3/redis_store.rb', line 6

def redis
  @redis
end

Instance Method Details

#fetch_nonce(nonce_id) ⇒ Object



22
23
24
# File 'lib/devise/web3/redis_store.rb', line 22

def fetch_nonce(nonce_id)
  redis.get(key(nonce_id))
end

#generate_nonce_with_idObject



15
16
17
18
19
20
# File 'lib/devise/web3/redis_store.rb', line 15

def generate_nonce_with_id
  nonce_id = redis.incr(NONCE_KEY)
  nonce = SecureRandom.hex
  redis.setex(key(nonce_id), TTL, nonce)
  [nonce, nonce_id]
end