module Doorkeeper::Models::SecretStorable::ClassMethods
def fallback_secret_strategy
Determine the fallback storing strategy
#
def fallback_secret_strategy nil end
def find_by_fallback_token(attr, plain_secret)
-
(Doorkeeper::AccessToken, nil)- AccessToken object or nil
Parameters:
-
plain_secret(#to_s) -- -
attr(Symbol) --
def find_by_fallback_token(attr, plain_secret) return nil unless fallback_secret_strategy # Use the previous strategy to look up stored_token = fallback_secret_strategy.transform_secret(plain_secret) find_by(attr => stored_token).tap do |resource| return nil unless resource upgrade_fallback_value resource, attr, plain_secret end end
def find_by_plaintext_token(attr, token)
-
(Doorkeeper::AccessToken, nil)- AccessToken object or nil
Parameters:
-
token(#to_s) -- -
attr(Symbol) --
def find_by_plaintext_token(attr, token) token = token.to_s find_by(attr => secret_strategy.transform_secret(token)) || find_by_fallback_token(attr, token) end
def secret_strategy
Determines the secret storing transformer
#
def secret_strategy ::Doorkeeper::SecretStoring::Plain end
def upgrade_fallback_value(instance, attr, plain_secret)
-
plain_secret() -- -
attr() -- -
instance() --
def upgrade_fallback_value(instance, attr, plain_secret) upgraded = secret_strategy.store_secret(instance, attr, plain_secret) instance.update(attr => upgraded) end