A long-lived project that still receives updates
OpenID Connect extension for Doorkeeper.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

Runtime

>= 0.5
>= 5.5, < 6.0
>= 2.5
 Project Readme

Doorkeeper::OpenidConnect

CI Maintainability Gem Version Downloads

This library implements an OpenID Connect authentication provider for Rails applications on top of the Doorkeeper OAuth 2.0 framework.

OpenID Connect is a single-sign-on and identity layer with a growing list of server and client implementations. If you're looking for a client in Ruby check out omniauth_openid_connect.

Full documentation lives in the wiki.

Table of Contents

  • Status
    • Example Applications
  • Requirements
  • Installation
  • Documentation
  • Development
  • License
  • Sponsors

Status

The following parts of OpenID Connect Core 1.0 and related specifications are currently supported:

In addition, we also support most of OpenID Connect Discovery 1.0 for automatic configuration discovery.

Take a look at the DiscoveryController for more details on supported features.

Example Applications

Requirements

Dependency Supported versions
Ruby 3.2 or newer
Rails 7.0 to 8.1
Doorkeeper 5.5 or newer, below 7.0
ORM Active Record only

The CI matrix is the authoritative statement of what is tested: each Rails series above against Ruby 3.2 through 4.0 and — except for Rails 7.0 — against ruby-head, plus one build per supported Doorkeeper series and one against Doorkeeper's main branch.

Installation

Make sure your application is already set up with Doorkeeper.

Add this line to your application's Gemfile and run bundle install:

gem 'doorkeeper-openid_connect'

Run the installation generator to update routes and create the initializer:

rails generate doorkeeper:openid_connect:install

Generate a migration for Active Record (other ORMs are currently not supported):

rails generate doorkeeper:openid_connect:migration
rails db:migrate

If you're upgrading from an earlier version, check Migration from Old Versions wiki and CHANGELOG.md for upgrade instructions, including the migrations that newer versions add to existing installations.

Documentation

Configuration and usage are documented in the wiki, whose home page indexes every topic. The pages to start from:

The remaining pages cover scopes and claims, prompt and max_age, routes and multiple mounts, nonces, RP-Initiated Logout, Dynamic Client Registration, and I18n.

Development

Run bundle install to setup all development dependencies.

To run all specs:

bundle exec rake spec

To generate and run migrations in the test application:

bundle exec rake migrate

To run the local engine server:

bundle exec rake server

By default, Rails 8.0 is used. To use a specific version run:

rails=7.2 bundle update

License

Doorkeeper::OpenidConnect is released under the MIT License.

Sponsors

Initial development of this project was sponsored by PlayOn! Sports.