awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
doorkeeper-gem avatar

doorkeeper-gem/doorkeeper

0
View on GitHub↗
5,501 stars·1,080 forks·Ruby·MIT·15 viewsdoorkeeper.gitbook.io/guides↗

Doorkeeper

Doorkeeper is an OAuth 2 authorization server and provider for Ruby on Rails and Grape applications. It provides the necessary framework to build an authorization server that issues and validates security tokens for third-party applications, effectively acting as a security middleware to protect API endpoints.

The project integrates an identity layer via OpenID Connect to verify user identities and retrieve profile information. It supports a variety of security patterns, including the implementation of the PKCE flow for public clients and the issuance of stateless JSON Web Tokens.

Its broader capabilities cover the entire token lifecycle, including cryptographic hashing of tokens and secrets, scope-based access restriction, and token revocation. It manages third-party application registration and provides mechanisms for resource owner identification and authorization flow execution.

The system includes a persistence layer with support for multiple database adapters, including Active Record, Sequel, and MongoDB.

Features

  • OAuth 2.0 Authorization Servers - Provides a full authorization server to manage client registrations and execute flows to issue access tokens.
  • Client Application Registrations - Provides a system to register and manage client identifiers and secrets for third-party application authentication.
  • Request Token Validators - Intercepts incoming requests to verify access tokens and identify resource owners before reaching controllers.
  • OAuth Scope Management - Allows for the definition and enforcement of specific OAuth scopes to limit the permissions granted to a client.
  • Token Revocation - Allows for the immediate invalidation of access and refresh tokens to terminate a client's session.
  • API Access Control - Protecting API endpoints by validating access tokens and enforcing specific permission scopes for incoming requests.
  • Request Access Restrictions - Enforces scope-based access restrictions to ensure tokens possess the required permissions for a specific action.
  • Token Lifecycle Management - Manages the full lifecycle of security tokens, including generation, cryptographic hashing, and revocation.
  • OAuth 2.0 Authorization Flows - Executes standard OAuth 2.0 authorization flows to grant secure access to users and applications.
  • Protocol Endpoints - Provides standardized routes for authorization and token exchange to manage third-party authentication flows.
  • OAuth Providers - Implements OAuth 2.0 flows to store and authenticate client identifiers and secrets.
  • OpenID Connect Providers - Implements an identity authority that issues tokens and provides profile information via the OpenID Connect protocol.
  • OpenID Connect Support - Integrates the OpenID Connect protocol to provide an identity layer for user authentication.
  • Resource Owner Identification - Retrieves the identity of the user associated with a token to provide personalized data to authorized clients.
  • Token Validation - Validates tokens on incoming requests to verify their scope and ownership before granting access.
  • OAuth2 Access Token Issuance - Generates short-lived access tokens to facilitate secure communication between clients and resources.
  • Middleware-Based Endpoint Protections - Provides middleware that intercepts incoming requests to verify token validity before allowing access to protected API routes.
  • Authorization Server Implementations - Implements a complete OAuth 2 authorization server tailored for Ruby on Rails and Grape applications.
  • ORM Integrations - Extends data access by implementing specific patterns to support both relational and non-relational databases.
  • ORM Agnostic Persistence - Persists authorization codes and tokens using various database adapters like Active Record or MongoDB.
  • Access and Refresh Token Issuances - Generates long-lived refresh tokens allowing clients to obtain new access tokens without re-authentication.
  • JWT Format Tokens - Issues access tokens in JWT format to enable stateless verification without database lookups.
  • Pluggable Token Formats - Uses customizable generator objects to define the format and structure of issued security tokens.
  • User Identity Verification - Verifies the identity of the resource owner before granting access and handles redirection to login pages.
  • JSON Web Tokens - Generates and validates stateless JSON Web Tokens for API authorization.
  • PKCE Authorization Flows - Implements the PKCE flow to secure authorization codes for public clients and prevent interception attacks.
  • OAuth Grant Type Handlers - Processes various OAuth grant types to securely exchange authorization codes for tokens.
  • Token Hashing - Implements cryptographic hashing for access tokens and client secrets to protect them against database compromises.
  • Credential Hashing - Ensures that third-party application secrets are stored as cryptographic hashes rather than plain text.
  • Token Introspection - Provides token introspection capabilities to check the current validity and properties of an active token.
  • Custom Token Generators - Supports custom generator objects to produce security tokens that meet specific data format requirements.
  • Token Hashing - Protects sensitive credentials and access tokens by storing cryptographic hashes instead of plain text values.
  • Grant Management - Provides a mechanism for users to view and revoke access permissions they have granted to third-party applications.
  • ORM Adapters - Provides a persistence layer that supports multiple database backends via interchangeable ORM adapters.
  • Stateless Token Validation - Employs JSON Web Tokens to enable authorization verification without requiring a database lookup.
  • Security Middleware - Provides security middleware for Ruby on Rails to protect API endpoints and manage third-party access.
  • Authentication and Authorization - Introduces OAuth2 provider functionality.
  • Authentication and OAuth - An OAuth2 provider for Rails.

Star history

Star history chart for doorkeeper-gem/doorkeeperStar history chart for doorkeeper-gem/doorkeeper

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does doorkeeper-gem/doorkeeper do?

Doorkeeper is an OAuth 2 authorization server and provider for Ruby on Rails and Grape applications. It provides the necessary framework to build an authorization server that issues and validates security tokens for third-party applications, effectively acting as a security middleware to protect API endpoints.

What are the main features of doorkeeper-gem/doorkeeper?

The main features of doorkeeper-gem/doorkeeper are: OAuth 2.0 Authorization Servers, Client Application Registrations, Request Token Validators, OAuth Scope Management, Token Revocation, API Access Control, Request Access Restrictions, Token Lifecycle Management.

Which projects share features with doorkeeper-gem/doorkeeper?

Projects with overlapping indexed features include: authlib/authlib — Authlib is a comprehensive Python library for building and integrating OAuth 1.0, OAuth 2.0, and OpenID Connect… thephpleague/oauth2-server — This project is a PHP library for implementing a spec-compliant OAuth 2.0 authorization server. It serves as an… anomalyco/openauth — OpenAuth is a standards-based authentication server and identity provider that implements OAuth 2.0 and OpenID Connect… lepture/authlib — Authlib is a comprehensive Python framework for implementing OAuth 1.0, OAuth 2.0, and OpenID Connect clients and… ory/hydra — Hydra is a headless identity server that functions as a certified OAuth2 and OpenID Connect provider. It is designed… oauthjs/node-oauth2-server — node-oauth2-server is an OAuth2 server implementation for Node.js that functions as an authorization provider. It…

Projects sharing features with Doorkeeper

These projects share indexed features with Doorkeeper. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • authlib/authlibauthlib avatar

    authlib/authlib

    5,346View on GitHub↗

    Authlib is a comprehensive Python library for building and integrating OAuth 1.0, OAuth 2.0, and OpenID Connect clients and servers. It provides a unified set of tools to manage authentication and authorization flows, allowing applications to either act as a client connecting to external identity providers or as a provider issuing tokens and managing user identities. The project distinguishes itself through a full implementation of the JOSE standards, offering a suite of cryptographic tools for generating, signing, encrypting, and validating JSON Web Tokens, Signatures, Encryption, and Keys.

    Pythondjangoflaskjose
    View on GitHub↗5,346
  • thephpleague/oauth2-serverthephpleague avatar

    thephpleague/oauth2-server

    6,650View on GitHub↗

    This project is a PHP library for implementing a spec-compliant OAuth 2.0 authorization server. It serves as an authentication framework for managing user identities and client authorizations, providing the necessary components to issue and validate access and refresh tokens. The server supports a wide range of standardized authorization flows, including authorization code exchange, device grants, implicit flows, and PKCE enforcement. It handles complex token lifecycles through refresh token rotation, scope management, and the use of asymmetric keys for signing digital tokens. The system pro

    PHPoauthoauth2oauth2-server
    View on GitHub↗6,650
  • anomalyco/openauthanomalyco avatar

    anomalyco/openauth

    6,971View on GitHub↗

    OpenAuth is a standards-based authentication server and identity provider that implements OAuth 2.0 and OpenID Connect protocols. It serves as a centralized system for managing user identities, issuing access tokens, and orchestrating authentication flows across various services. The project functions as a federated identity gateway, aggregating external providers such as Google, GitHub, Microsoft, Apple, and Discord into a unified login flow. It distinguishes itself with a multi-tenant architecture that supports pluggable identity providers and customizable user interface frameworks for bran

    TypeScript
    View on GitHub↗6,971
  • lepture/authliblepture avatar

    lepture/authlib

    5,346View on GitHub↗

    Authlib is a comprehensive Python framework for implementing OAuth 1.0, OAuth 2.0, and OpenID Connect clients and servers. It provides a complete toolkit for identity management, spanning the development of authorization servers, resource servers, and client-side integrations. The library distinguishes itself through a full implementation of the JOSE specifications, including JSON Web Tokens, Encryption, Signatures, and Keys. It features specialized capabilities for non-interactive authentication via service account assertion frameworks and a compliance-correction layer designed to handle ide

    Python
    View on GitHub↗5,346
  • Compare all 30 related projects→