module Auth0::Mixins::Initializer

Help class where Auth0::Client initialization described

Public Class Methods

included(klass) click to toggle source

including initializer in top of klass

# File lib/auth0/mixins/initializer.rb, line 28
def self.included(klass)
  klass.send :prepend, Initializer
end
new(config) click to toggle source

Default initialization mechanism, moved here to keep Auth0::Client clear accepts hash as parameter you can get all required fields from here: auth0.com/docs/auth-api

To run using api v2, pass protocols: “v2” when creating a client

# File lib/auth0/mixins/initializer.rb, line 10
def initialize(config)
  options = Hash[config.map{|(k,v)| [k.to_sym,v]}]
  self.class.base_uri "https://#{options[:namespace]}"
  self.class.headers "Content-Type"  => 'application/json'
  if options[:protocols].to_s.include?("v2")
    self.extend Auth0::Api::V2
    @token = options[:access_token]
  else
    self.extend Auth0::Api::V1
    self.extend Auth0::Api::AuthenticationEndpoints
    @client_id      = options[:client_id]
    @client_secret  = options[:client_secret]
    @token          = obtain_access_token
  end
  self.class.headers "Authorization" => "Bearer #{options[:access_token]}"
end