Facebook Connect en Rails

30 de septiembre de 09

Facebook Connect es la API que Facebook pone a la disposición de todos los desarrolladores para poder conectar la red social con cualquier aplicación, ya sea de internet o de escritorio.

Se usa principalmente para que cualquier usuario se pueda loguear en tu aplicación si que haga falta el molesto proceso de registro. Para adaptarla a una nueva aplicación que estoy creando usé un tutorial donde te explica como adaptarlo a Restful Authentication.

Una vez adaptado todo, un usuario cualquiera puede resgistrarse a la antigua o loguearse usando Facebook Connect, incluso usando las dos maneras conservando el mismo usuario.

Eso si, si ya tienes tu aplicación montada habrá usuarios sin el email_hash, un campo usado para comparar el email del usuario de tu aplicación con el de Facebook.

Pero esto no es un problema, solo hace falta pasar una tarea rake para que actualice ese campo a todos los usuarios y así puedan usar las dos maneras de login sin problemas.

namespace :user do
  desc "This task will register all the not facebook registered users"
  task :register_at_fb => :environment do
    cont = 0
    usuarios = User.find(:all, 
                         :conditions => 'email_hash IS NULL', 
                         :order => 'id DESC')
    usuarios.each{ |u|
          puts "Registering at facebook #{u.email}...."
          begin
            u.register_user_to_fb
            puts "#{u.email_hash}"
          rescue
            puts "ERROR!"
          end
          cont += 1
          puts "(#{cont} / #{usuarios.size})"
        }
  end
end

Código de Jorge Díaz, desarrollador de Fresqui.

Después de esto no tenéis excusa para permitir que los nuevos usuarios accedan a vuestros sitios de una manera más fácil y rápida.

34

tagueado en código

Comentarios