Skip to content
Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.
Ruby HTML Other
Branch: master
Clone or download
nbulaj Merge pull request #1320 from stevehodges/master
Call configured authenticate_resource_owner block once per request.
Latest commit 07844ac Oct 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update GitHub template Oct 2, 2019
app Fixes Doorkeeper API mode Sep 17, 2019
bin rubocop -a Mar 27, 2019
config/locales Fix interpolation of value to translation Sep 16, 2019
gemfiles Use released Rails 6.0 in Travis Aug 28, 2019
lib Call configured authenticate_resource_owner block once per request. Oct 18, 2019
spec Call configured authenticate_resource_owner block once per request. Oct 18, 2019
vendor/assets/stylesheets/doorkeeper Update to Bootstrap 4.0 Apr 3, 2018
.coveralls.yml Add test coverage tracking using Coveralls Feb 5, 2017
.editorconfig .editorconfig Sep 27, 2019
.gitignore Improve docs for API only mode Mar 6, 2018
.hound.yml Increase rubocop version for Hound May 16, 2019
.rspec Install rspec Nov 16, 2011
.rubocop.yml [ci skip] Improve gem spec Jul 18, 2019
.travis.yml drop Rails 4.2 support Mar 27, 2019
Appraisals Use released Rails 6.0 in Travis Aug 28, 2019 Call configured authenticate_resource_owner block once per request. Oct 18, 2019 Add Code of Conduct and GH templates Jan 27, 2018 Add a Dockerfile for running specs where ruby isn't available Jun 10, 2019
Dangerfile Fix #1193: batch matching tokens for reuse_access_token Jun 14, 2019
Dockerfile Add a Dockerfile for running specs where ruby isn't available Jun 10, 2019
Gemfile Fix Doorkeeper::ApplicationController inheritance Aug 30, 2019
MIT-LICENSE Update MIT-LICENSE Nov 24, 2011 #1251: rename NEWS to CHANGELOG (#1256) May 16, 2019 add rethinkdb to ORM list Jul 23, 2019 #1251: rename NEWS to CHANGELOG (#1256) May 16, 2019
Rakefile Update Rubocop (Hound) rules Mar 26, 2019 Fix #1038: update contact for security issues Feb 17, 2018 [ci skip] Upgrade document Jul 16, 2018
doorkeeper.gemspec [ci skip] Improve gem spec Jul 18, 2019

Doorkeeper — awesome OAuth 2 provider for your Rails / Grape app.

Gem Version Build Status Code Climate Coverage Status Security Reviewed by Hound GuardRails badge Dependabot

Doorkeeper is a gem (Rails engine) that makes it easy to introduce OAuth 2 provider functionality to your Ruby on Rails or Grape application.

Supported features:

Table of Contents


This documentation is valid for master branch. Please check the documentation for the version of doorkeeper you are using in:

Additionally, other resources can be found on:


Installation depends on the framework you're using. The first step is to add the following to your Gemfile:

gem 'doorkeeper'

And run bundle install. After this, check out the guide related to the framework you're using.

Ruby on Rails

Doorkeeper currently supports Ruby on Rails >= 5.0. See the guide here.


Guide for integration with Grape framework can be found here.


Doorkeeper supports Active Record by default, but can be configured to work with the following ORMs:

ORM Support via
Active Record by default
MongoDB doorkeeper-gem/doorkeeper-mongodb
Sequel nbulaj/doorkeeper-sequel
Couchbase acaprojects/doorkeeper-couchbase
RethinkDB aca-labs/doorkeeper-rethinkdb


Extensions that are not included by default and can be installed separately.

OpenID Connect extension doorkeeper-gem/doorkeeper-openid_connect
JWT Token support doorkeeper-gem/doorkeeper-jwt
Assertion grant extension doorkeeper-gem/doorkeeper-grants_assertion
I18n translations doorkeeper-gem/doorkeeper-i18n

Example Applications

These applications show how Doorkeeper works and how to integrate with it. Start with the oAuth2 server and use the clients to connect with the server.

Application Link
oAuth2 Server with Doorkeeper doorkeeper-gem/doorkeeper-provider-app
Sinatra Client connected to Provider App doorkeeper-gem/doorkeeper-sinatra-client
Devise + Omniauth Client doorkeeper-gem/doorkeeper-devise-client

You may want to create a client application to test the integration. Check out these client examples in our wiki or follow this tutorial here.


See list of tutorials in order to learn how to use the gem or integrate it with other solutions / gems.


OpenCollective OpenCollective

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

If you prefer not to deal with the gory details of OAuth 2, need dedicated customer support & consulting, try the cloud-based SaaS version:

Wealthsimple is a financial company on a mission to help everyone achieve financial freedom by providing products and advice that are accessible and affordable. Using smart technology, Wealthsimple takes financial services that are often confusing, opaque and expensive and makes them simple, transparent, and low-cost. See what Investing on Autopilot is all about:


To run the local engine server:

bundle install
bundle exec rake doorkeeper:server

By default, it uses the latest Rails version with ActiveRecord. To run the tests with a specific Rails version:

BUNDLE_GEMFILE=gemfiles/rails_6_0.gemfile bundle exec rake


Want to contribute and don't know where to start? Check out features we're missing, create example apps, integrate the gem with your app and let us know!

Also, check out our contributing guidelines page.


Thanks to all our awesome contributors!


MIT License. Copyright 2011 Applicake.

You can’t perform that action at this time.