{"id":25127864,"url":"https://github.com/remora/remora.oauth2","last_synced_at":"2025-04-23T14:35:58.256Z","repository":{"id":51058734,"uuid":"520199565","full_name":"Remora/Remora.OAuth2","owner":"Remora","description":"Service- and backend-agnostic implementation of OAuth2 for .NET","archived":false,"fork":false,"pushed_at":"2025-02-13T13:05:54.000Z","size":251,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-16T09:58:53.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Remora.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-01T17:18:37.000Z","updated_at":"2025-02-13T13:05:58.000Z","dependencies_parsed_at":"2025-02-13T12:37:52.336Z","dependency_job_id":null,"html_url":"https://github.com/Remora/Remora.OAuth2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remora%2FRemora.OAuth2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remora%2FRemora.OAuth2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remora%2FRemora.OAuth2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remora%2FRemora.OAuth2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Remora","download_url":"https://codeload.github.com/Remora/Remora.OAuth2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250453305,"owners_count":21433172,"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","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":[],"created_at":"2025-02-08T11:19:37.877Z","updated_at":"2025-04-23T14:35:58.236Z","avatar_url":"https://github.com/Remora.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Remora.OAuth2\n==============\n\nRemora.OAuth2 is a C# library for interfacing with OAuth2 services. It is built\nto fulfill a need for robust, feature-complete, highly available and concurrent \napplications.\n\nWant to chat with users and developers? Come join us!\n\n[![OAuth2 Server][5]][4] \n\n# Table of Contents\n1. [Features](#1-features)\n   1. [Support Table](#11-support-table)\n2. [Goals](#2-goals)\n    1. [Correctness](#21-correctness)\n    2. [Robustness](#22-robustness)\n    3. [True Asynchronicity and Concurrency](#23-true-asynchronicity-and-concurrency)\n3. [Installation](#4-installation)\n4. [Usage](#5-usage)\n5. [Contributing](.github/CONTRIBUTING.md)\n\n## 1. Features\n  * Extensive API coverage - does anything and everything you need\n  * Modern and active - uses contemporary technologies and usage patterns\n  * Fully asynchronous - do many things at once at scale\n  * Modular - swap parts of the library with your own implementations at will\n\n### 1.1 Support Table\nThis table lists the various RFCs related to OAuth2 that the library supports.\n\n| RFC  | Name                              | Supported      |\n|------|-----------------------------------|----------------|\n| 6749 | OAuth 2.0 Authorization Framework | API model only |\n| 7009 | Token Revocation                  | API model only |\n| 8628 | Device Authorization Grant        | API model only |\n\n\n## 2. Goals\nRemora.OAuth2 defines the following three goals that guides its development. \nThese are shorter summaries - to read the full goal definitions and see \nexamples, please refer to the [Contributing Guidelines][2].\n\n### 2.1 Correctness\nCorrectness, in the context of Remora.OAuth2, means that the API available to \nthe end user should as faithfully and accurately represent the actual reality of\ndata presented to or from an API; that is, no data or structure of data should \nmeaningfully change between the library receiving it and the user accessing it.\n\n### 2.2 Robustness\nRobustness refers to a focus on never allowing problems originating from user \ndata or real-life runtime conditions to bring down or otherwise corrupt the end \nuser's application. The end user should be confident that, should an error \narise, they will be aware of the fault potential before even compiling the \napplication.\n\n### 2.3 True Asynchronicity and Concurrency\nRemora.OAuth2 aims to be truly asynchronous from the ground up, respecting and\nutilizing established best practices for C# and the TPL. Furthermore, it aims to\nbe concurrent, allowing end users to react to and perform actions upon many \ntasks at once.\n\n## 4. Installation\nRemora.OAuth2's primary distribution format is via [nuget][3] - get it there!\n\nIf you wish to use or develop the library further, you will need to compile it \nfrom source.\n\n```bash\ngit clone git@github.com:Remora/Remora.OAuth2.git\ncd Remora.OAuth2\ndotnet build\ndotnet pack -c Release\n```\n\n## 5. Usage\nUp-to-date documentation for the API, as well as a quickstart guide, is \navailable online at [the repository pages][1].\n\nEach package has its own README with more detailed information regarding its \npurpose and use. If you want to know more about each one of these, please refer\nto the list below. It's roughly organized in order of importance to end users, \nbut feel free to explore.\n\n  * [Remora.OAuth2](Remora.OAuth2/README.md)\n    * [Remora.OAuth2.API.Abstractions](Remora.OAuth2.Abstractions/README.md)\n\n### 5.1 Versioning\nA note on versioning - Remora.OAuth2 uses SEMVER 2.0.0, which, in short, means\n\nGiven a version number MAJOR.MINOR.PATCH, increment the:\n\n  1. MAJOR version when you make incompatible API changes,\n  2. MINOR version when you add functionality in a backwards compatible manner,\n     and\n  3. PATCH version when you make backwards compatible bug fixes.\n\n### 5.2 Releases\nRemora.OAuth2 does not follow a set release cycle, and releases new versions \non a rolling basis as new features of the OAuth2 API are implemented or \ndocumented.\n\nAs a developer, you should check in every now and then to see what's changed - \nchangelogs are released along with tags here on Github, as well as in the \nindividual package descriptions.\n\nWhenever a new set of packages are released, the commit the releases were built \nfrom is tagged with the year and an incremental release number - for example,\n`2021.1`.\n\n#### 5.2.1 Bleeding Edge Builds\nWhenever a new push to `main` is made, a new set of packages based on the \nlatest commit will be published to GitHub Packages.\n\nThe URL of the NuGet source is `https://nuget.pkg.github.com/Remora/index.json`.  \nAs the NuGet source requires authentication, follow GitHub's instructions: [here][9]\n\n## 6. Contributing\nSee [Contributing][2].\n\n## Thanks\nIcon by [Twemoji][6], licensed under CC-BY 4.0.\n\n[1]: https://nihlus.github.io/Remora.OAuth2/\n[2]: .github/CONTRIBUTING.md\n[3]: https://www.nuget.org/packages/Remora.OAuth2/\n[4]: https://discord.gg/tRJbg8HNdt\n[5]: https://img.shields.io/static/v1?label=Chat\u0026message=on%20Discord\u0026color=7289da\u0026logo=Discord\n[6]: https://twemoji.twitter.com/\n[8]: https://github.com/Remora?tab=packages\u0026repo_name=Remora.OAuth2\n[9]: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry#authenticating-to-github-packages\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremora%2Fremora.oauth2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremora%2Fremora.oauth2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremora%2Fremora.oauth2/lists"}