class GrapeTokenAuth::CachingKeyGenerator
CachingKeyGenerator
is a wrapper around KeyGenerator
which allows users to avoid re-executing the key generation process when it's called using the same salt and key_size
Public Class Methods
new(key_generator)
click to toggle source
# File lib/grape_token_auth/key_generator.rb, line 32 def initialize(key_generator) @key_generator = key_generator @cache_keys = ThreadSafe::Cache.new end
Public Instance Methods
generate_key(salt, key_size = 64)
click to toggle source
Returns a derived key suitable for use. The default key_size is chosen to be compatible with the default settings of OpenSSL::Digest::SHA1#block_length
# File lib/grape_token_auth/key_generator.rb, line 40 def generate_key(salt, key_size = 64) key = "#{salt}#{key_size}" @cache_keys[key] ||= @key_generator.generate_key(salt, key_size) end