Class: OmniAuth::Strategies::Oschina

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

Instance Method Summary collapse

Instance Method Details

#authorize_paramsObject



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/omniauth/strategies/oschina.rb', line 17

def authorize_params
  super.tap do |params|
    %w[scope client_options].each do |v|
      if request.params[v]
        params[v.to_sym] = request.params[v]
        # to support omniauth-oauth2's auto csrf protection
        session['omniauth.state'] = params[:state] if v == 'state'
      end
    end
  end
end

#emailObject



51
52
53
# File 'lib/omniauth/strategies/oschina.rb', line 51

def email
  raw_info['email']
end

#email_access_allowed?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/omniauth/strategies/oschina.rb', line 55

def email_access_allowed?
  options['scope'] =~ /user/
end

#raw_infoObject



45
46
47
48
49
# File 'lib/omniauth/strategies/oschina.rb', line 45

def raw_info
	access_token.options[:param_name] = 'access_token'
  access_token.options[:mode] = :query
  @raw_info ||= access_token.get('action/oauth2/user').parsed
end

#request_phaseObject



13
14
15
# File 'lib/omniauth/strategies/oschina.rb', line 13

def request_phase
  super
end