Class: FacebookoauthController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controller/facebookoauth_controller.rb

Instance Method Summary collapse

Instance Method Details

#authObject



5
6
7
8
# File 'app/controller/facebookoauth_controller.rb', line 5

def auth
  url = Fboauth2::Newfbclient.get_auth(request.env["HTTP_HOST"], params) #piden la creacion de un nuevo fb client y regresa la url para hacer el redirect a fb, se envia el url del host como parametro
  redirect_to url #redirect a facebook para hacer el auth
end

#callbackObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/controller/facebookoauth_controller.rb', line 10

def callback
  #callback functions
  
  conf_data = Fboauth2::Newfbclient.get_conf_data 
  
  if !conf_data[params[:config]].nil? && conf_data[params[:config]] != "" 
    if !params[:code].nil? && params[:code] != ""


      #toma los datos del usuario de facebook y los coloca en fb_user despues del auth
      client = Fboauth2::Newfbclient.auth_callback(params[:code], Fboauth2::Newfbclient.get_url(request.env["HTTP_HOST"]))
      fb_user = client.selection.me.info! 
    
      #crea un nuevo registro en la db
      if conf_data[params[:config]]["hmodel"] == "t"
        Fboauth2::Newfbclient.crate_new_m(conf_data, params, fb_user)
      end
    
      #Publica mensaje en facebook
      if conf_data[params[:config]]["hfbmsg"] == "t"
        Fboauth2::Newfbclient.send_fb_msg(params[:config], fb_user)
      end      
  
      redirect_to Fboauth2::Newfbclient.get_path('redirect', params)
    else
      puts "-"*50
      puts "**** Fboauth2 ERROR: Facebook User not allow permission to app****"
      puts "-"*50
      
      redirect_to Fboauth2::Newfbclient.get_path('notallow', params)    
    end
  else
    puts "-"*50
    puts "**** Fboauth2 ERROR: config parameter is required ****"
    puts "-"*50
    redirect_to "/"
  end
end