Class: OmniAuth::Strategies::Bitcasa

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/omniauth/strategies/bitcasa.rb

Constant Summary collapse

API_VERSION =
"v1"

Instance Method Summary collapse

Instance Method Details

#callback_phaseObject



33
34
35
36
# File 'lib/omniauth/strategies/bitcasa.rb', line 33

def callback_phase
  self.access_token = custom_build_access_token
  self.access_token = access_token.refresh! if access_token.expired?
end

#custom_build_access_tokenObject

Bitcasa return a parameter called ‘authorization_code’ insted of ‘code’



39
40
41
42
# File 'lib/omniauth/strategies/bitcasa.rb', line 39

def custom_build_access_token
  verifier = request.params['authorization_code']
  client.auth_code.get_token(verifier, { :secret => options.client_secret })
end

#raw_infoObject



23
24
25
26
# File 'lib/omniauth/strategies/bitcasa.rb', line 23

def raw_info
  access_token.options[:mode] = :query
  @raw_info ||= access_token.get('result').parsed
end

#request_phaseObject

Bitcasa uses ‘redirect’ instead of ‘redirect_uri’



29
30
31
# File 'lib/omniauth/strategies/bitcasa.rb', line 29

def request_phase
  redirect client.auth_code.authorize_url({:redirect => callback_url}.merge(authorize_params))
end