Sha256: f3c289ab85eae9c1b7f341ef5493e4cd40508f53ed65d0cba27fddd13d9149b0

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

module Authorizme
  module Login
    class FacebookController < AuthorizmeController
      
      def auth
        redirect_to client.authorization.authorize_url(:redirect_uri => redirect_uri("facebook"), 
                                                      :scope => Authorizme::facebook_perms, 
                                                      :display => "popup")
      end

      def callback
        access_token = client.authorization.process_callback(params[:code], :redirect_uri => redirect_uri("facebook"))
        user_json = client.selection.me.info!
        image_url = "https://graph.facebook.com/#{user_json.id}/picture?type=large"
        attributes = {first_name: user_json.first_name, last_name: user_json.last_name, image_url: image_url}
        user = User.authenticate_with_facebook(user_json.id, attributes, access_token) 
        login user
        render_popup_view
      end
      
      private
      
        def client
            @client ||= FBGraph::Client.new(:client_id => Authorizme::facebook_client_id,
                                           :secret_id => Authorizme::facebook_client_secret)
        end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
authorizme-0.0.6 app/controllers/authorizme/login/facebook_controller.rb
authorizme-0.0.5 app/controllers/authorizme/login/facebook_controller.rb
authorizme-0.0.4 app/controllers/authorizme/login/facebook_controller.rb
authorizme-0.0.3 app/controllers/authorizme/login/facebook_controller.rb