Class: OmniAuth::Strategies::Parse
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::Parse
- Includes:
- OmniAuth::Strategy
- Defined in:
- lib/omniauth/strategies/parse.rb
Constant Summary collapse
- PARSE_LOGIN =
{:site => "https://api.parse.com", :path => "1/login"}
Instance Method Summary collapse
Instance Method Details
#callback_phase ⇒ Object
22 23 24 25 26 27 |
# File 'lib/omniauth/strategies/parse.rb', line 22 def callback_phase @raw_data = get_user_data return fail!(:invalid_credentials) unless @raw_data @parsed_data = JSON.parse @raw_data super end |
#get_user_data ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/omniauth/strategies/parse.rb', line 35 def get_user_data raise "application_id is required for initialization" unless [:application_id] raise "rest_api_key is required for initialization" unless [:rest_api_key] conn = Faraday.new(:url => PARSE_LOGIN[:site]) do |req| req.request :url_encoded req.adapter Faraday.default_adapter end result = conn.get do |req| req.url PARSE_LOGIN[:path] req.headers['X-Parse-Application-Id'] = [:application_id] req.headers['X-Parse-REST-API-Key'] = [:rest_api_key] req.params['username'] = request.params["username"] req.params['password'] = request.params["password"] end unless result.status == 200 #logging? return false end return result.body end |
#request_phase ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/omniauth/strategies/parse.rb', line 14 def request_phase form = OmniAuth::Form.new(:title => "Parse.com Info", :url => callback_path) form.text_field :username, :username form.password_field :password, :password form. "Sign In" form.to_response end |