Class: OmniAuth::Strategies::Oschina
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Oschina
- Defined in:
- lib/omniauth/strategies/oschina.rb
Instance Method Summary collapse
- #authorize_params ⇒ Object
- #email ⇒ Object
- #email_access_allowed? ⇒ Boolean
- #raw_info ⇒ Object
- #request_phase ⇒ Object
Instance Method Details
#authorize_params ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/omniauth/strategies/oschina.rb', line 17 def 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 |
#email ⇒ Object
51 52 53 |
# File 'lib/omniauth/strategies/oschina.rb', line 51 def email raw_info['email'] end |
#email_access_allowed? ⇒ Boolean
55 56 57 |
# File 'lib/omniauth/strategies/oschina.rb', line 55 def email_access_allowed? ['scope'] =~ /user/ end |
#raw_info ⇒ Object
45 46 47 48 49 |
# File 'lib/omniauth/strategies/oschina.rb', line 45 def raw_info access_token.[:param_name] = 'access_token' access_token.[:mode] = :query @raw_info ||= access_token.get('action/oauth2/user').parsed end |
#request_phase ⇒ Object
13 14 15 |
# File 'lib/omniauth/strategies/oschina.rb', line 13 def request_phase super end |