$ sudo gem install facebooker
Make sure that you have setup you config/facebooker.yml to match your facebook application, make you application depended on the facebooker gem
config.gem "facebooker"
and run the xd_receiver generator to create the cross domain scripting bridge to make it possible for your application to communicate with facebook
$ script/generate xd_receiver
For more information on the facebooker gem checkout it’s readme github.com/mmangino/facebooker/tree/master
$ script/plugin install git://github.com/kalasjocke/authlogic_facebook_connect.git
This plugin should soon be packed inside a gem.
class AddFacebookConnectFieldsToUser < ActiveRecord::Migration def self.up add_column :users, :name, :string add_column :users, :facebook_uid, :integer, :limit => 8 end def self.down remove_column :users, :facebook_uid remove_column :users, :name end end
The important parts are the facebook html namespace, facebook javascript include and the facebook helper calls to init the facebooker gem.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <title>Your awsome facebook connected app</title> <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag :defaults %> <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script> </head> <body> <p style="color: green"><%= flash[:notice] %></p> <%= fb_connect_javascript_tag %> <%= init_fb_connect "XFBML" %> <%= yield %> </body> </html>
<%= authlogic_facebook_login_button %>
If you want to save some user data when connecting to facebook you can use the before_connect hook in your user model.
def before_connect(facebook_session) self.name = facebook_session.user.name end
For more information about what you can get form the facebook_session checkout the Facebooker gem rdoc.