OAuth 2.0 Server & Client Library. Both Bearer and MAC token type are supported.

The OAuth 2.0 Authorization Framework (RFC 6749) www.rfc-editor.org/rfc/rfc6749.txt

The OAuth 2.0 Authorization Framework: Bearer Token Usage (RFC 6750) tools.ietf.org/html/draft-ietf-oauth-v2-bearer-06

HTTP Authentication: MAC Access Authentication (draft 01) tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-01


gem install rack-oauth2


Sample Server Application (Rails3)


Running on Heroku rack-oauth2-sample.heroku.com

Source on GitHub github.com/nov/rack-oauth2-sample


Running on Heroku rack-oauth2-sample-mac.heroku.com

Source on GitHub github.com/nov/rack-oauth2-sample-mac

Sample Client

Common between Bearer and MAC

Authorization Request (request_type: 'code' and 'token') gist.github.com/862393

Token Request (grant_type: 'client_credentials', 'password', 'authorization_code' and 'refresh_token') gist.github.com/883541


Resource Request (request both for resource owner resource and for client resource) gist.github.com/883575


Resource Request (request both for resource owner resource and for client resource) gist.github.com/933885

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 nov matake. See LICENSE for details.