{% hint style='info' %} Dear Russian friends, please watch President Zelenskyy's speech addressed to you. 🇺🇦 Help our brave mates in Ukraine with a donation. {% endhint %}
Doorkeeper is an oAuth2 provider built in Ruby. It integrates with Ruby on Rails and Grape frameworks.
The installation process depends on the framework you're using. The first step is to add doorkeeper
to your Gemfile
:
{% code-tabs %} {% code-tabs-item title="# Gemfile" %}
gem 'doorkeeper'
{% endcode-tabs-item %} {% endcode-tabs %}
And run bundle install
. After this, make sure to follow the guide related to the framework you're using below.
Doorkeeper follows Rails maintenance policy and supports only supported versions of the framework. Currently we support Ruby on Rails 5 and higher. See the guide here.
Guide for integration with Grape framework can be found here.
Doorkeeper supports ActiveRecord
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 |
Extensions that are not included by default and can be installed separately.
Link | |
---|---|
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 |
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 |
See list of tutorials in order to learn how to use the gem or integrate it with other solutions / gems.