Clone this wiki locally
Welcome to the doorkeeper wiki!
Doorkeeper is an OAuth 2 provider for Rails. It's built on top of Rails engines. The gem is in active development. So far it supports all protocol flows, but we will still have to work on few missing pieces.
See it in action
We've built a simple provider demo using Devise. Check it out here.
Screencast @ railscasts.com
For more example applications, see this page in the wiki.
All pull requests are welcome and we love them!!! If you want to contribute, please read the guide
Doorkeeper is in constant development and things change fast! Check out the upgrade guide for more information.
- Conditionally requiring OAuth token
- Using with
- Using ActionController::Metal with doorkeeper
- Interacting as an OAuth client with Doorkeeper
- Passing parameters from a devise client to doorkeeper (like locale)
- Using scopes
- Using with Grape
- [Using OmniAuth to authenticate for Doorkeeper] (http://www.polyglotprogramminginc.com/using-omniauth-to-authenticate-for-doorkeeper/)
- Create a OmniAuth strategy for your provider
- Associate users to OAuth applications (ownership)
- CORS - Cross Origin Resource Sharing
- Rate limit with Redis
- A Sane Oauth Federation Strategy With Doorkeeper in Ruby
- doorkeeper-i18n Translation files for doorkeeper
- doorkeeper-mongodb Mongoid and MongoMapper support for doorkeeper
- doorkeeper-grants_assertion Assertion grant extension for Doorkeeper (born from: https://github.com/doorkeeper-gem/doorkeeper/pull/249)
- doorkeeper_scopes_per_flow limit scopes available per flow/grant_type and specify a default one for each flow
- doorkeeper-openid_connect Implements an OpenID Connect authentication provider on top of Doorkeeper
- doorkeeper-couchbase Couchbase Support for doorkeeper
- Customize tokens expiration
- Enable refresh token credentials
- Using scopes
- Customizing Views
- Customizing Routes
- Skipping Application Authorization
- Changing how clients are authenticated
- Authenticating using Clearance/DIY
- Customizing the response body when unauthorized
- Enabling Basic authorization for access tokens
- Using PostgreSQL UUIDs as primary keys with Doorkeeper
You can also find all the wiki pages here.
Thanks to all that contributed to the gem! Check out the awesome list of contributors here!