-
-
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.
- 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
- Grape + Doorkeeper + Swagger
- Devise Doorkeeper
- 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
- ORMs
- doorkeeper-mongodb: Mongoid and MongoMapper support for doorkeeper
- doorkeeper-sequel: Sequel support for doorkeeper
- doorkeeper-couchbase: Couchbase Support for doorkeeper
- Additional
- doorkeeper-jwt: Doorkeeper JWT support
- doorkeeper-i18n: Translation files 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
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!