All Projects → doorkeeper-gem → Doorkeeper

doorkeeper-gem / Doorkeeper

Licence: mit
Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Doorkeeper

Hydra
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Compatible with MITREid.
Stars: ✭ 11,884 (+141.69%)
Mutual labels:  oauth2, authorization, oauth, identity, oauth2-server, oauth2-provider
Oauthlib
A generic, spec-compliant, thorough implementation of the OAuth request-signing logic
Stars: ✭ 2,323 (-52.76%)
Mutual labels:  authentication, oauth2, authorization, oauth, identity
Authlib
The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.
Stars: ✭ 2,854 (-41.96%)
Mutual labels:  oauth2, oauth, oauth2-server, oauth2-provider
Aspnet5identityserverangularimplicitflow
OpenID Connect Code / Implicit Flow with Angular and ASP.NET Core 5 IdentityServer4
Stars: ✭ 670 (-86.37%)
Mutual labels:  authentication, oauth2, authorization, identity
Grant
OAuth Proxy
Stars: ✭ 3,509 (-28.64%)
Mutual labels:  authentication, oauth2, authorization, oauth
Flask Oauthlib
YOU SHOULD USE https://github.com/lepture/authlib
Stars: ✭ 1,429 (-70.94%)
Mutual labels:  oauth2, oauth, oauth2-server, oauth2-provider
Doorkeeper Provider App
An example OAuth 2 provider application using the Doorkeeper gem, Rails and Devise
Stars: ✭ 146 (-97.03%)
Mutual labels:  ruby-on-rails, oauth2, oauth2-server, oauth2-provider
Cierge
🗝️ Passwordless OIDC authentication done right
Stars: ✭ 1,245 (-74.68%)
Mutual labels:  authentication, oauth2, identity, oauth2-server
Ueberauth
An Elixir Authentication System for Plug-based Web Applications
Stars: ✭ 1,259 (-74.39%)
Mutual labels:  authentication, oauth2, authorization, oauth
Fosite
Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
Stars: ✭ 1,738 (-64.65%)
Mutual labels:  authentication, oauth2, authorization, oauth
Product Is
Welcome to the WSO2 Identity Server source code! For info on working with the WSO2 Identity Server repository and contributing code, click the link below.
Stars: ✭ 435 (-91.15%)
Mutual labels:  authentication, oauth2, authorization, identity
Security.identity
.NET DevPack Identity is a set of common implementations to help you implementing Identity, Jwt, claims validation and another facilities
Stars: ✭ 165 (-96.64%)
Mutual labels:  authentication, authorization, oauth, identity
Django Oidc Provider
OpenID Connect and OAuth2 provider implementation for Djangonauts.
Stars: ✭ 320 (-93.49%)
Mutual labels:  authentication, oauth2, identity, oauth2-provider
Example Oauth2 Server
Example for OAuth 2 Server for Authlib.
Stars: ✭ 499 (-89.85%)
Mutual labels:  oauth2, oauth2-server, oauth2-provider
Play Pac4j
Security library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 375 (-92.37%)
Mutual labels:  authentication, authorization, oauth
oauth2-server
A spec compliant, secure by default PHP OAuth 2.0 Server
Stars: ✭ 6,128 (+24.63%)
Mutual labels:  oauth, oauth2, oauth2-server
Spring Security Pac4j
pac4j security library for Spring Security: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 231 (-95.3%)
Mutual labels:  authentication, authorization, oauth
logto
🧑‍🚀 Logto helps you build the sign-in, auth, and user identity within minutes. We provide an OIDC-based identity service and the end-user experience with username, phone number, email, and social sign-in, with extendable multi-language support.
Stars: ✭ 3,421 (-30.43%)
Mutual labels:  identity, oauth2, authorization
doorkeeper-sequel
Doorkeeper Sequel ORM
Stars: ✭ 12 (-99.76%)
Mutual labels:  oauth2-provider, ruby-on-rails, doorkeeper
Stormpath Sdk Java
Official Java SDK for the Stormpath User Management REST API
Stars: ✭ 221 (-95.51%)
Mutual labels:  authentication, authorization, identity

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

Gem Version CI 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

Documentation

This documentation is valid for main branch. Please check the documentation for the version of doorkeeper you are using in: https://github.com/doorkeeper-gem/doorkeeper/releases.

Additionally, other resources can be found on:

Installation

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.

Grape

Guide for integration with Grape framework can be found here.

ORMs

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

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
CIBA - Client Initiated Backchannel Authentication Flow extention doorkeeper-ciba

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.

Tutorials

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

Sponsors

OpenCollective OpenCollective

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

Codecademy supports open source as part of its mission to democratize tech. Come help us build the education the world deserves: https://codecademy.com/about/careers


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


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: https://www.wealthsimple.com

Development

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

You can also experiment with the changes using bin/console. It uses in-memory SQLite database and default Doorkeeper config, but you can reestablish connection or reconfigure the gem if you need.

Contributing

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.

Contributors

Thanks to all our awesome contributors!

License

MIT License. Copyright 2011 Applicake.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].