Class: Devise::Web3::RedisStore
- Inherits:
-
Object
- Object
- Devise::Web3::RedisStore
- 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
-
#redis ⇒ Object
readonly
Returns the value of attribute redis.
Instance Method Summary collapse
- #fetch_nonce(nonce_id) ⇒ Object
- #generate_nonce_with_id ⇒ Object
-
#initialize ⇒ RedisStore
constructor
A new instance of RedisStore.
Constructor Details
#initialize ⇒ RedisStore
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
#redis ⇒ Object (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_id ⇒ Object
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 |