-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Home
Doorkeeper
is an OAuth 2 provider for Ruby on Rails or Grape applications. 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 improve the functionality of the gem.
More info:
We've built a simple provider demo using Devise. Check it out here.
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
protected_attributes
gem - 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
- 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-sequel Sequel 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
NOTE: Something may be changed in new versions of the gem, so first read the main documentation or NEWS.md for additional info.
- Customization:
- Enable refresh token credentials
- Using scopes
- Skipping Application Authorization
- Changing how clients are authenticated
- Authenticating using Clearance/DIY
- 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!