Billfold
Billfold provides backend Rails support for OmniAuth. Specifically, it
routes /auth/:provider/callback to
Billfold::IdentitiesController#update_or_create, which handles
updating and creating user identities from OmniAuth hashes. It also
provides GET /identities and DELETE /identities/:id for users to manage
the identities attached to their account.
Requirements
- Rails 3.x
Installation
- Add
gem 'billfold'to yourGemfile - Run
bundle(orbundle install) - Run
rails g billfold:migrationif you're using Rails migrations
Configuration
With ActiveRecord
If you don't have User and Identity model classes, run
rails g billfold:models to create them. Otherwise, include
Billfold::ActiveRecordUser and Billfold::ActiveRecordIdentity in
them respectively. You may wish to define
User#perform_additional_merge_operations! if you need to do additional
logic during a user merge.
Without ActiveRecord
Include Billfold::User and Billfold::Identity in the model classes.
You'll also have do define the following methods:
User.find_by_id(id)User#merge_into!(other_user)Identity.with_provider_and_value(provider, value)Identity#userIdentity#update_attributes!Identity#save!
Classes
In either case, if you want to use something other than User and Identity
for your classes, you can, but you have to tell Billfold. You can do that like
so:
Billfold.user_class_name = 'My::User'
Billfold.identity_class_name = 'My::UserIdentity'
Internationalization
See config/locales/en.yml for a list of keys that must be translated to
make the models, views, and controllers fully internationalized.