A Ruby gem that provides OAuth 2 provider functionality for Ruby on Rails and Grape applications.
Doorkeeper is a Ruby gem that acts as an OAuth 2 provider for Ruby on Rails and Grape applications. It enables developers to implement secure OAuth 2.0 authorization flows to protect their APIs and manage client access without building the infrastructure from scratch. The gem handles token issuance, validation, and revocation while supporting various OAuth 2.0 specifications and extensions.
Ruby on Rails or Grape developers who need to add OAuth 2.0 provider functionality to their applications, such as those building APIs that require third-party client authentication and authorization.
Developers choose Doorkeeper because it provides a full-featured, standards-compliant OAuth 2.0 solution that integrates seamlessly with Rails and Grape, reducing development time and complexity. Its modular design and active community support make it highly extensible and reliable for production use.
Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports all major OAuth 2.0 flows including Authorization Code, Implicit, and Client Credentials, as listed in the README, ensuring adherence to RFC standards like RFC 6749.
Implements PKCE for public clients and follows OAuth 2.0 threat models, providing built-in security considerations per RFC 7636 and RFC 6819.
Works with Active Record by default and has extensions for MongoDB, Sequel, and others, allowing flexibility in database choices as documented in the ORMs section.
Backed by sponsors like Codecademy, with extensive documentation, example apps, and a wiki, indicating strong community support and reliability.
Key functionalities like OpenID Connect and JWT tokens are not included in the core gem, requiring separate installations and potential compatibility issues, as noted in the Extensions section.
Tightly integrated with Ruby on Rails and Grape, making it impractical for use in other programming environments without significant adaptation or reimplementation.
Setting up non-standard ORMs or advanced features involves additional configuration steps, as hinted by the separate guides for different integrations, which can increase setup time.