{"id":29704233,"url":"https://github.com/node-oauth/node-oauth2-server","last_synced_at":"2025-07-23T14:08:52.015Z","repository":{"id":38360015,"uuid":"414962042","full_name":"node-oauth/node-oauth2-server","owner":"node-oauth","description":"🚀 The successor to oauthjs/oauth2-server. 🔒 Complete, compliant, maintained and well tested OAuth2 Server for node.js.  Includes native async await and PKCE.","archived":false,"fork":false,"pushed_at":"2025-07-22T08:50:11.000Z","size":2000,"stargazers_count":397,"open_issues_count":18,"forks_count":53,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-07-22T10:41:10.474Z","etag":null,"topics":["async","authentication","authorization-code-flow","authorization-code-grant","await","client-credentials-grant","hacktoberfest","javascript","node","nodejs","npm-package","oauth","oauth2","password-grant","pkce","token-grant"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@node-oauth/oauth2-server","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"oauthjs/node-oauth2-server","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/node-oauth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["jankapunkt"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://paypal.me/kuesterjan"]}},"created_at":"2021-10-08T11:34:28.000Z","updated_at":"2025-07-22T08:46:39.000Z","dependencies_parsed_at":"2023-11-06T06:31:17.872Z","dependency_job_id":"446ba41e-05ef-43c1-ac63-f9a21d9fd92f","html_url":"https://github.com/node-oauth/node-oauth2-server","commit_stats":{"total_commits":659,"total_committers":77,"mean_commits":8.558441558441558,"dds":0.7830045523520486,"last_synced_commit":"9a448b4fc6dcd82b8890dac14a13dccb3a276928"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/node-oauth/node-oauth2-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-oauth%2Fnode-oauth2-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-oauth%2Fnode-oauth2-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-oauth%2Fnode-oauth2-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-oauth%2Fnode-oauth2-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/node-oauth","download_url":"https://codeload.github.com/node-oauth/node-oauth2-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-oauth%2Fnode-oauth2-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266510856,"owners_count":23940721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","authentication","authorization-code-flow","authorization-code-grant","await","client-credentials-grant","hacktoberfest","javascript","node","nodejs","npm-package","oauth","oauth2","password-grant","pkce","token-grant"],"created_at":"2025-07-23T14:08:50.995Z","updated_at":"2025-07-23T14:08:52.002Z","avatar_url":"https://github.com/node-oauth.png","language":"JavaScript","readme":"\n# @node-oauth/oauth2-server\n\nComplete, compliant and well tested module for implementing an OAuth2 server in [Node.js](https://nodejs.org).\n\n[![Tests](https://github.com/node-oauth/node-oauth2-server/actions/workflows/tests.yml/badge.svg)](https://github.com/node-oauth/node-oauth2-server/actions/workflows/tests.yml)\n[![CodeQL Semantic Analysis](https://github.com/node-oauth/node-oauth2-server/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/node-oauth/node-oauth2-server/actions/workflows/codeql-analysis.yml)\n[![Tests for Release](https://github.com/node-oauth/node-oauth2-server/actions/workflows/tests-release.yml/badge.svg)](https://github.com/node-oauth/node-oauth2-server/actions/workflows/tests-release.yml)\n[![Documentation Status](https://readthedocs.org/projects/node-oauthoauth2-server/badge/?version=latest)](https://node-oauthoauth2-server.readthedocs.io/en/latest/?badge=latest)\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![npm Version](https://img.shields.io/npm/v/@node-oauth/oauth2-server?label=version)](https://www.npmjs.com/package/@node-oauth/oauth2-server)\n[![npm Downloads/Week](https://img.shields.io/npm/dw/@node-oauth/oauth2-server)](https://www.npmjs.com/package/@node-oauth/oauth2-server)\n[![GitHub License](https://img.shields.io/github/license/node-oauth/node-oauth2-server)](https://github.com/node-oauth/node-oauth2-server/blob/master/LICENSE)\n\nNOTE: This project has been forked from [oauthjs/node-oauth2-server](https://github.com/oauthjs/node-oauth2-server) and is a continuation due to the project appearing to be abandoned. Please see [our issue board](https://github.com/node-oauth/node-oauth2-server/issues) to talk about next steps and the future of this project.\n\n## Installation\n\n```bash\nnpm install @node-oauth/oauth2-server\n```\n\nThe `@node-oauth/oauth2-server` module is framework-agnostic but there are several officially supported wrappers available for popular HTTP server frameworks such as [Express](https://www.npmjs.com/package/@node-oauth/express-oauth-server) and [Koa (not maintained by us)](https://npmjs.org/package/koa-oauth-server).\nIf you're using one of those frameworks it is strongly recommended to use the respective wrapper module instead of rolling your own.\n\n\n## Features\n\n- Supports `authorization_code`, `client_credentials`, `refresh_token` and `password` grant, as well as *extension grants*, with scopes.\n- Can be used with *promises*, *ES6 generators* and *async*/*await* (using [Babel](https://babeljs.io)).\n- Fully [RFC 6749](https://tools.ietf.org/html/rfc6749.html) and [RFC 6750](https://tools.ietf.org/html/rfc6750.html) compliant.\n- Implicitly supports any form of storage, e.g. *PostgreSQL*, *MySQL*, *MongoDB*, *Redis*, etc.\n- Support for PKCE\n- Complete [test suite](https://github.com/node-oauth/node-oauth2-server/tree/master/test).\n\n## Documentation\n\nDocumentation is hosted on Read the Docs. We have multiple versions of the docs available:\n\n- [stable](https://node-oauthoauth2-server.readthedocs.io/en/master/) (master branch)\n- [development](https://node-oauthoauth2-server.readthedocs.io/en/development/) (development branch)\n\nPlease leave an issue if something is confusing or missing in the docs.\n\n## Examples\n\nMost users should refer to our [Express (active)](https://github.com/node-oauth/express-oauth-server) or\n[Koa (not maintained by us)](https://github.com/oauthjs/koa-oauth-server/tree/master/examples) examples.\n\nMore examples can be found here: https://github.com/14gasher/oauth-example\n\n## Version 5 notes\n\nBeginning with version `5.x` we removed dual support for callbacks and promises.\nWith this version there is only support for Promises / async/await.\n\nWith this version we also bumped the `engine` to Node 16 as 14 is now deprecated.\n\n## Migrating from OAuthJs and 3.x\n\nVersion 4.x should not be hard-breaking, however, there were many improvements and fixes that may\nbe incompatible with specific behaviour in \u003c= 3.x\n\nFor more info, please read the [changelog](./CHANGELOG.md) or open an issue, if you think something\nis unexpectedly not working.\n\n## Supported NodeJs versions\n\nThis project supports the node versions along the\n[NodeJS LTS releases](https://nodejs.org/en/about/releases/), focusing on\n\n- Maintenance LTS\n- Active LTS\n- Current\n\n## Contributing to this project\n\nPlease read our [contribution guide](./CONTRIBUTING.md) before taking actions.\nIn any case, please open an issue before opening a pull request to find out whether your intended contribution will actually have a chance to be merged.\n","funding_links":["https://github.com/sponsors/jankapunkt","https://paypal.me/kuesterjan"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-oauth%2Fnode-oauth2-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnode-oauth%2Fnode-oauth2-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-oauth%2Fnode-oauth2-server/lists"}