Sha256: 41ade4ba43c041c3018caec1c0841fe58949d826a2c2706ac16226ca7e032a28

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

module Auth0
  module Mixins
    # Help class where Auth0::Client initialization described
    module Initializer
      # Default initialization mechanism, moved here to keep Auth0::Client clear
      # accepts hash as parameter
      # you can get all required fields from here: https://auth0.com/docs/auth-api
      def initialize(config)
        options = Hash[config.map{|(k,v)| [k.to_sym,v]}]
        self.class.base_uri "https://"+options[:namespace].to_s
        self.class.headers "Content-Type"  => 'application/json'
        @client_id      = options[:client_id]
        @client_secret  = options[:client_secret]
        @token          = obtain_access_token
        self.class.headers "Authorization" => "Bearer #{@token}"
        if options[:jwt]
          require 'auth0/mixins/jwt_operations'
          self.class.send(:include, Auth0::Mixins::JwtOperations)
        end
      end

      # including initializer in top of klass
      def self.included(klass)
        klass.send :prepend, Initializer
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
auth0-ruby-0.9.1 lib/auth0/mixins/initializer.rb