Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An authlogic add-on to pick up javascript authenticated users and log them in with authlogic using Koala or any other wrapper you choose to add an adapter for.
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
rails
test Added rescue for expired facebook cookies.
.gitignore
Gemfile
LICENSE
README.rdoc
Rakefile
authlogic_facebook_shim.gemspec
init.rb

README.rdoc

authlogic_facebook_shim

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

Adapters

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.

Note on Patches/Pull Requests

  • 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

Copyright © 2010 James McCarthy. See LICENSE for details.

Something went wrong with that request. Please try again.