Class: OmniAuth::Strategies::XAuth
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::XAuth
- Includes:
- OmniAuth::Strategy
- Defined in:
- lib/omniauth/strategies/xauth.rb
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.
17 18 19 |
# File 'lib/omniauth/strategies/xauth.rb', line 17 def access_token @access_token end |
Instance Method Details
#callback_phase ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/omniauth/strategies/xauth.rb', line 42 def callback_phase raise OmniAuth::NoSessionError.new("Session Expired") if session['omniauth.xauth'].nil? @access_token = consumer.get_access_token(nil, {}, session['omniauth.xauth']) super rescue ::Net::HTTPFatalError, ::OpenSSL::SSL::SSLError => e fail!(:service_unavailable, e) rescue ::OAuth:: => e fail!(:invalid_credentials, e) rescue ::MultiJson::DecodeError => e fail!(:invalid_response, e) rescue ::OmniAuth::NoSessionError => e fail!(:session_expired, e) rescue => e puts e.backtrace ensure session['omniauth.xauth'] = nil end |
#consumer ⇒ Object
35 36 37 38 39 40 |
# File 'lib/omniauth/strategies/xauth.rb', line 35 def consumer consumer = ::OAuth::Consumer.new(.consumer_key, .consumer_secret, .) consumer.http.open_timeout = .open_timeout if .open_timeout consumer.http.read_timeout = .read_timeout if .read_timeout consumer end |
#get_credentials ⇒ Object
28 29 30 31 32 33 |
# File 'lib/omniauth/strategies/xauth.rb', line 28 def get_credentials OmniAuth::Form.build(.) do text_field 'Username', 'username' password_field 'Password', 'password' end.to_response end |
#request_phase ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/omniauth/strategies/xauth.rb', line 19 def request_phase if env['REQUEST_METHOD'] == 'GET' get_credentials else session['omniauth.xauth'] = { 'x_auth_mode' => 'client_auth', 'x_auth_username' => request['username'], 'x_auth_password' => request['password'] } redirect callback_path end end |