[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7719":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},7719,"doorkeeper","doorkeeper-gem\u002Fdoorkeeper","doorkeeper-gem","Doorkeeper is an OAuth 2 provider for Ruby on Rails \u002F Grape.","https:\u002F\u002Fdoorkeeper.gitbook.io\u002Fguides\u002F",null,"Ruby",5498,1080,100,39,0,3,17,1,40.1,"MIT License",false,"main",true,[26,27,5,28,29,30,31,32,33,34],"authentication","authorization","grape","identity","oauth","oauth2","oauth2-provider","oauth2-server","ruby-on-rails","2026-06-12 02:01:43","# Doorkeeper — awesome OAuth 2 provider for your Rails \u002F Grape app.\n\n[![Gem Version](https:\u002F\u002Fbadge.fury.io\u002Frb\u002Fdoorkeeper.svg)](https:\u002F\u002Frubygems.org\u002Fgems\u002Fdoorkeeper)\n[![CI](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Maintainability](https:\u002F\u002Fqlty.sh\u002Fgh\u002Fdoorkeeper-gem\u002Fprojects\u002Fdoorkeeper\u002Fmaintainability.svg)](https:\u002F\u002Fqlty.sh\u002Fgh\u002Fdoorkeeper-gem\u002Fprojects\u002Fdoorkeeper)\n[![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fbadge.svg?branch=main)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Fdoorkeeper-gem\u002Fdoorkeeper?branch=main)\n[![GuardRails badge](https:\u002F\u002Fapi.guardrails.io\u002Fv2\u002Fbadges\u002F21183?token=66768ce8f6995814df81f65a2cff40f739f688492704f973e62809e15599bb62)](https:\u002F\u002Fdashboard.guardrails.io\u002Fgh\u002Fdoorkeeper-gem\u002Frepos\u002F21183)\n[![Dependabot](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdependabot-enabled-success.svg)](https:\u002F\u002Fdependabot.com)\n\nDoorkeeper is a gem (Rails engine) that makes it easy to introduce OAuth 2 provider\nfunctionality to your Ruby on Rails or Grape application.\n\nSupported features:\n\n- [The OAuth 2.0 Authorization Framework](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6749)\n  - [Authorization Code Flow](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6749#section-4.1)\n  - [Access Token Scopes](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6749#section-3.3)\n  - [Refresh token](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6749#section-1.5)\n  - [Implicit grant](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6749#section-4.2)\n  - [Resource Owner Password Credentials](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6749#section-4.3)\n  - [Client Credentials](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6749#section-4.4)\n- [OAuth 2.0 Token Revocation](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7009)\n- [OAuth 2.0 Token Introspection](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7662)\n- [OAuth 2.0 Threat Model and Security Considerations](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc6819)\n- [OAuth 2.0 for Native Apps](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc8252)\n- [Proof Key for Code Exchange by OAuth Public Clients](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7636)\n\n## Table of Contents\n\n\u003C!-- START doctoc generated TOC please keep comment here to allow auto update -->\n\u003C!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Documentation](#documentation)\n- [Installation](#installation)\n  - [Ruby on Rails](#ruby-on-rails)\n  - [Grape](#grape)\n- [ORMs](#orms)\n- [Extensions](#extensions)\n- [Example Applications](#example-applications)\n- [Sponsors](#sponsors)\n- [Development](#development)\n- [Contributing](#contributing)\n- [Contributors](#contributors)\n- [License](#license)\n\n\u003C!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Documentation\n\nThis documentation is valid for `main` branch. Please check the documentation for the version of doorkeeper you are using in:\nhttps:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Freleases.\n\nAdditionally, other resources can be found on:\n\n- [Guides](https:\u002F\u002Fdoorkeeper.gitbook.io\u002Fguides\u002F) with how-to get started and configuration documentation\n- See the [Wiki](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fwiki) for articles on how to integrate with other solutions\n- Screencast from [railscasts.com](http:\u002F\u002Frailscasts.com\u002F): [#353\nOAuth with\nDoorkeeper](http:\u002F\u002Frailscasts.com\u002Fepisodes\u002F353-oauth-with-doorkeeper)\n- See [upgrade guides](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fwiki\u002FMigration-from-old-versions)\n- For general questions, please post on [Stack Overflow](http:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Fdoorkeeper)\n- See [SECURITY.md](SECURITY.md) for this project's security disclose\n  policy\n\n## Installation\n\nInstallation depends on the framework you're using. The first step is to add the following to your Gemfile:\n\n```ruby\ngem 'doorkeeper'\n```\n\nAnd run `bundle install`. After this, check out the guide related to the framework you're using.\n\n### Ruby on Rails\n\nDoorkeeper currently supports Ruby on Rails >= 5.0. See the guide [here](https:\u002F\u002Fdoorkeeper.gitbook.io\u002Fguides\u002Fruby-on-rails\u002Fgetting-started).\n\n### Grape\n\nGuide for integration with Grape framework can be found [here](https:\u002F\u002Fdoorkeeper.gitbook.io\u002Fguides\u002Fgrape\u002Fgrape).\n\n## ORMs\n\nDoorkeeper supports Active Record by default, but can be configured to work with the following ORMs:\n\n| ORM | Support via |\n| :--- | :--- |\n| Active Record | by default |\n| MongoDB | [doorkeeper-gem\u002Fdoorkeeper-mongodb](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-mongodb) |\n| Sequel | [nbulaj\u002Fdoorkeeper-sequel](https:\u002F\u002Fgithub.com\u002Fnbulaj\u002Fdoorkeeper-sequel) |\n| Couchbase | [acaprojects\u002Fdoorkeeper-couchbase](https:\u002F\u002Fgithub.com\u002Facaprojects\u002Fdoorkeeper-couchbase) |\n| RethinkDB | [aca-labs\u002Fdoorkeeper-rethinkdb](https:\u002F\u002Fgithub.com\u002Faca-labs\u002Fdoorkeeper-rethinkdb) |\n\n## Extensions\n\nExtensions that are not included by default and can be installed separately.\n\n|  | Link |\n| :--- | :--- |\n| OpenID Connect extension | [doorkeeper-gem\u002Fdoorkeeper-openid\\_connect](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-openid_connect) |\n| JWT Token support | [doorkeeper-gem\u002Fdoorkeeper-jwt](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-jwt) |\n| Assertion grant extension | [doorkeeper-gem\u002Fdoorkeeper-grants\\_assertion](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-grants_assertion) |\n| I18n translations | [doorkeeper-gem\u002Fdoorkeeper-i18n](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-i18n) |\n| CIBA - Client Initiated Backchannel Authentication Flow extension | [doorkeeper-ciba](https:\u002F\u002Fgithub.com\u002Fautoseg\u002Fdoorkeeper-ciba) |\n| Device Authorization Grant | [doorkeeper-device_authorization_grant](https:\u002F\u002Fgithub.com\u002Fexop-group\u002Fdoorkeeper-device_authorization_grant) |\n\n## Example Applications\n\nThese 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.\n\n| Application | Link |\n| :--- | :--- |\n| OAuth2 Server with Doorkeeper | [doorkeeper-gem\u002Fdoorkeeper-provider-app](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-provider-app) |\n| Sinatra Client connected to Provider App | [doorkeeper-gem\u002Fdoorkeeper-sinatra-client](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-sinatra-client) |\n| Devise + Omniauth Client | [doorkeeper-gem\u002Fdoorkeeper-devise-client](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper-devise-client) |\n\nYou may want to create a client application to\ntest the integration. Check out these [client\nexamples](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fwiki\u002FExample-Applications)\nin our wiki or follow this [tutorial\nhere](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fwiki\u002FTesting-your-provider-with-OAuth2-gem).\n\n## Sponsors\n\n[![OpenCollective](https:\u002F\u002Fopencollective.com\u002Fdoorkeeper-gem\u002Fbackers\u002Fbadge.svg)](#backers) \n[![OpenCollective](https:\u002F\u002Fopencollective.com\u002Fdoorkeeper-gem\u002Fsponsors\u002Fbadge.svg)](#sponsors)\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https:\u002F\u002Fopencollective.com\u002Fdoorkeeper-gem#sponsor)]\n\n\u003Ca href=\"https:\u002F\u002Fcodecademy.com\u002Fabout\u002Fcareers?utm_source=doorkeeper-gem\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fstatic-assets.codecademy.com\u002Fmarketing\u002Fcodecademy_logo_padded.png\"\u002F>\u003C\u002Fa>\n\n> Codecademy supports open source as part of its mission to democratize tech. Come help us build the education the world deserves: [https:\u002F\u002Fcodecademy.com\u002Fabout\u002Fcareers](https:\u002F\u002Fcodecademy.com\u002Fabout\u002Fcareers?utm_source=doorkeeper-gem)\n\n\u003Cbr>\n\n\u003Ca href=\"https:\u002F\u002Foauth.io\u002F?utm_source=doorkeeper-gem\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foauth.io\u002Fimg\u002Flogo_text.png\"\u002F>\u003C\u002Fa>\n\n> 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:\u002F\u002Foauth.io](https:\u002F\u002Foauth.io\u002F?utm_source=doorkeeper-gem)\n\n\u003Cbr>\n\n\u003Ca href=\"https:\u002F\u002Fwww.wealthsimple.com\u002F?utm_source=doorkeeper-gem\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fwealthsimple.s3.amazonaws.com\u002Fbranding\u002Fmedium-black.svg\"\u002F>\u003C\u002Fa>\n\n> 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:\u002F\u002Fwww.wealthsimple.com](https:\u002F\u002Fwww.wealthsimple.com\u002F?utm_source=doorkeeper-gem)\n\n## Development\n\nTo run the local engine server:\n\n```\nbundle install\nbundle exec rake doorkeeper:server\n````\n\nBy default, it uses the latest Rails version with ActiveRecord. To run the\ntests with a specific Rails version:\n\n```\nBUNDLE_GEMFILE=gemfiles\u002Frails_6_0.gemfile bundle exec rake\n```\n\nYou can also experiment with the changes using `bin\u002Fconsole`. It uses in-memory SQLite database and default\nDoorkeeper config, but you can reestablish connection or reconfigure the gem if you need.\n\n## Contributing\n\nWant to contribute and don't know where to start? Check out [features we're\nmissing](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fwiki\u002FSupported-Features),\ncreate [example\napps](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fwiki\u002FExample-Applications),\nintegrate the gem with your app and let us know!\n\nAlso, check out our [contributing guidelines page](CONTRIBUTING.md).\n\n## Contributors\n\nThanks to all our [awesome\ncontributors](https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fgraphs\u002Fcontributors)!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdoorkeeper-gem\u002Fdoorkeeper\u002Fgraphs\u002Fcontributors\">\u003Cimg src=\"https:\u002F\u002Fopencollective.com\u002Fdoorkeeper-gem\u002Fcontributors.svg?width=890&button=false\" \u002F>\u003C\u002Fa>\n\n## License\n\nMIT License. Created in Applicake. Maintained by the community.\n","Doorkeeper 是一个为 Ruby on Rails 和 Grape 应用程序提供 OAuth 2.0 认证服务的 gem。它支持多种 OAuth 2.0 授权流程，包括授权码模式、访问令牌范围、刷新令牌等，并且遵循相关的 RFC 标准以确保安全性和兼容性。此外，该项目还提供了诸如令牌撤销和内省等功能，进一步增强了其在复杂认证场景下的实用性。适用于需要实现用户身份验证与授权机制的 Web 应用开发项目中，特别是那些希望快速集成 OAuth 2.0 功能而无需从零开始构建相关逻辑的应用。",2,"2026-06-11 03:14:01","top_language"]