This is the basic framework for an OAuth2 gem for Devise.
It currently works with FacebookGraph, to get started begin by registering a new application at
A generator is provided for creating your oauth yml file
script/generate devise_oauth2_authenticatable –id API_ID –key SECRET –server graph.facebook.com –scope 'email,offline_access,publish_stream'
for more details
It's based on the devise facebook gem provided by grimen
And uses the example provided in OAuth2 library provided by mbleigh
DB Migration :
add_column :users, :oauth2_uid, :integer, :limit => 8 # BIGINT unsigned / 64-bit int add_column :users, :oauth2_token, :string, :limit => 149 #  chars add_index :users, :oauth2_uid, :unique => true
A little souce of confusion when working with Facebook Graph
The api key and secret key are no the same a Facebook Connect/the old API.
The client id should be your application id and the client_key, should be your API key (not secret key)
jerryluk has made imporvements to support devise 1.1 and Rails 3 http://github.com/jerryluk/devise_oauth2_authenticatable
Write tests :
Currently no tests have been written. My bad.
Generalize for OAuth2:
Add support for other OAuth2 services. Wrote this specifically for facebook graph, athought configuration arugments should be generalized to support other interfaces.
Description goes here.
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 © 2010 bhbryant. See LICENSE for details.