Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 98 lines (43 sloc) 2.43 KB


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


script/generate devise_oauth2_authenticatable –id API_ID –key SECRET –server –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  # [128][1][20] 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


Write tests :

Currently no tests have been written. My bad.

Add Javascript / token based auth :

Facebook graph offes a complete authorization solution using javascript and a returned authentication token. Adding optional support for this would complete the Facebook Graph authentication interface.

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.