Class: OmniAuth::Strategies::IAuth
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::IAuth
- Includes:
- OmniAuth::Strategy
- Defined in:
- lib/omniauth/strategies/iauth.rb
Defined Under Namespace
Classes: CallbackError
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
Instance Method Summary collapse
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
19 20 21 |
# File 'lib/omniauth/strategies/iauth.rb', line 19 def access_token @access_token end |
Instance Method Details
#callback_phase ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/omniauth/strategies/iauth.rb', line 27 def callback_phase operate = request.params['operate'] verifier = request.params['verifier'] state = request.params['state'] fail!(:invalid_request, CallbackError.new(:invalid_request)) unless state == session['omniauth.state'] iauth = ::IAuth.new .app_id, .app_secret if operate == 'login' c = iauth.login verifier, state elsif operate == 'auth' c = iauth.auth verifier, state else fail!(:invalid_request, CallbackError.new(:invalid_request)) end .uid = c['uid'] .access_token = c['access_token'] .access_secret = c['access_secret'] super rescue ::Timeout::Error => e fail!(:timeout, e) rescue ::Net::HTTPFatalError, ::OpenSSL::SSL::SSLError => e fail!(:service_unavailable, e) rescue ::MultiJson::DecodeError => e fail!(:invalid_response, e) rescue ::OmniAuth::NoSessionError => e fail!(:session_expired, e) end |
#request_phase ⇒ Object
21 22 23 24 25 |
# File 'lib/omniauth/strategies/iauth.rb', line 21 def request_phase state = .[:state] = SecureRandom.hex(8) session['omniauth.state'] = state redirect "http://i.buaa.edu.cn/plugin/iauth/login.php?appid=#{options.app_id}&state=#{state}" end |