Class: OmniAuth::Strategies::Salesforce
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Salesforce
show all
- Defined in:
- lib/omniauth/strategies/salesforce.rb
Constant Summary
collapse
- MOBILE_USER_AGENTS =
'webos|ipod|iphone|ipad|android|blackberry|mobile'
Instance Method Summary
collapse
Instance Method Details
#auth_hash ⇒ Object
37
38
39
40
41
42
43
44
|
# File 'lib/omniauth/strategies/salesforce.rb', line 37
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 ⇒ Object
70
71
72
73
|
# File 'lib/omniauth/strategies/salesforce.rb', line 70
def raw_info
access_token.options[:mode] = :header
@raw_info ||= access_token.post(access_token['id']).parsed
end
|
#request_phase ⇒ Object
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/omniauth/strategies/salesforce.rb', line 26
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
|