class Knock::Oauth2CodeVerifier::Configuration

Attributes

providers[RW]

Public Class Methods

new() click to toggle source
# File lib/knock/oauth2_code_verifier/configuration.rb, line 10
def initialize
  @providers = {}
end

Public Instance Methods

add_provider(provider, client_id, client_secret, urls) click to toggle source
# File lib/knock/oauth2_code_verifier/configuration.rb, line 14
def add_provider(provider, client_id, client_secret, urls)
  raise "provider is required" unless provider
  raise "client ID for provider is required" unless client_id
  raise "client secret for provider is required" unless client_secret
  raise "URL for token is required" unless urls[:token_url]
  raise "URL for user info is required" unless urls[:userinfo_url]

  @providers[provider] = {
    client_id: client_id,
    client_secret: client_secret,
    token_url: urls[:token_url],
    userinfo_url: urls[:userinfo_url],
  }
end
for_provider(provider) click to toggle source
# File lib/knock/oauth2_code_verifier/configuration.rb, line 29
def for_provider(provider)
  OpenStruct.new(@providers[provider.to_sym])
end