This is a plugin for integrating facebook sessions into authlogic. It relies on using the Javascript SDK to login to facebook. Currently the shim support koala (github.com/arsduo/koala) for access the graph API but if you have a preferred library it is easy to add an adapter.
This requires a config/facebook.yml file that looks like this:
development: app_id: appid api_key: apikey secret_key: secretkey production: app_id: appid api_key: apikey secret_key: secretkey
If you don’t have different facebook credentials for different environments you can set these in UserSession
facebook_app_id 'appid' facebook_api_key 'apikey' facebook_secret_key 'secretkey'
In your controller you probably have something like this;
def current_user_session @current_user_session ||= AccountSession.find end def current_user @current_user ||= current_user_session.try(:user) end def logged_in? current_user && !current_user_session.stale? end
To get hold of the facebook particulars you will need to add something like this;
def facebook_user current_user_session.try(:facebook_user) end def facebook_user? !facebook_user.nil? end def facebook_session? current_user_session.try(:facebook_session?) end
Currently the only adapter in the shim is for koala (github.com/arsduo/koala) but if you have a preferred wrapper for accessing the graph API please fork the project and add your own adapter (with tests) then send me a pull request.
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 James McCarthy. See LICENSE for details.