class OmniAuth::Strategies::Salesforce

Constants

MOBILE_USER_AGENTS

Public Instance Methods

auth_hash() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/salesforce.rb, line 35
def auth_hash
  signed_value = access_token.params['id'] + access_token.params['issued_at']
  raw_expected_signature = OpenSSL::HMAC.digest('sha256', options.client_secret.to_s, signed_value)
  expected_signature = Base64.strict_encode64 raw_expected_signature
  signature = access_token.params['signature']
  fail! "Salesforce user id did not match signature!" unless signature == expected_signature
  super
end
raw_info() click to toggle source
# File lib/omniauth/strategies/salesforce.rb, line 68
def raw_info
  access_token.options[:mode] = :header
  @raw_info ||= access_token.post(access_token['id']).parsed
end
request_phase() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/salesforce.rb, line 24
def request_phase
  req = Rack::Request.new(@env)
  options.update(req.params)
  ua = req.user_agent.to_s
  if !options.has_key?(:display)
    mobile_request = ua.downcase =~ Regexp.new(MOBILE_USER_AGENTS)
    options[:display] = mobile_request ? 'touch' : 'page'
  end
  super
end