class Facebook::Messenger::Configuration::Providers::Base

This is the base configuration provider.

User can overwrite this class to customize the environment variables
Be sure to implement all the functions as it raises
NotImplementedError errors.

Public Instance Methods

access_token_for(*) click to toggle source
# File lib/facebook/messenger/configuration/providers/base.rb, line 28
def access_token_for(*)
  raise NotImplementedError
end
app_secret_for(*) click to toggle source
# File lib/facebook/messenger/configuration/providers/base.rb, line 24
def app_secret_for(*)
  raise NotImplementedError
end
app_secret_proof_for(page_id = nil) click to toggle source

A default caching implentation of generating the app_secret_proof for a given page_id

# File lib/facebook/messenger/configuration/providers/base.rb, line 14
def app_secret_proof_for(page_id = nil)
  memo_key = [app_secret_for(page_id), access_token_for(page_id)]
  memoized_app_secret_proofs[memo_key] ||=
    calculate_app_secret_proof(*memo_key)
end
valid_verify_token?(*) click to toggle source
# File lib/facebook/messenger/configuration/providers/base.rb, line 20
def valid_verify_token?(*)
  raise NotImplementedError
end

Private Instance Methods

calculate_app_secret_proof(app_secret, access_token) click to toggle source
# File lib/facebook/messenger/configuration/providers/base.rb, line 34
def calculate_app_secret_proof(app_secret, access_token)
  Facebook::Messenger::Configuration::AppSecretProofCalculator.call(
    app_secret,
    access_token
  )
end
memoized_app_secret_proofs() click to toggle source
# File lib/facebook/messenger/configuration/providers/base.rb, line 41
def memoized_app_secret_proofs
  @memoized_app_secret_proofs ||= {}
end