class OmniAuth::Strategies::DocuSign

Constants

PRODUCTION_URL
SANDBOX_URL

Public Instance Methods

callback_url() click to toggle source
# File lib/omniauth/strategies/docusign.rb, line 38
def callback_url
  full_host + script_name + callback_path
end
client() click to toggle source

Overrride client to merge in site based on sandbox option

# File lib/omniauth/strategies/docusign.rb, line 30
def client
  ::OAuth2::Client.new(
    options.client_id,
    options.client_secret,
    deep_symbolize(options.client_options).merge(site: site)
  )
end

Private Instance Methods

site() click to toggle source
# File lib/omniauth/strategies/docusign.rb, line 44
def site
  options.sandbox ? SANDBOX_URL : PRODUCTION_URL
end
user_info() click to toggle source
# File lib/omniauth/strategies/docusign.rb, line 48
def user_info
  return @user_info if @user_info

  conn = Faraday.new(url: site) do |faraday|
    faraday.request  :url_encoded
    faraday.adapter  Faraday.default_adapter
  end

  response = conn.get do |req|
    req.url '/oauth/userinfo'
    req.headers['Content-Type'] = 'application/json'
    req.headers['Authorization'] = "Bearer #{access_token.token}"
  end

  @user_info = MultiJson.decode(response.body)
end