{"id":16937050,"url":"https://github.com/heroickatora/oxide-auth","last_synced_at":"2025-05-14T22:10:07.347Z","repository":{"id":27111465,"uuid":"112489304","full_name":"HeroicKatora/oxide-auth","owner":"HeroicKatora","description":"A OAuth2 server library, for use in combination with actix or other frontends, featuring a set of configurable and pluggable backends.","archived":false,"fork":false,"pushed_at":"2025-04-07T23:21:33.000Z","size":1667,"stargazers_count":727,"open_issues_count":26,"forks_count":94,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-11T10:47:41.613Z","etag":null,"topics":["actix-web","iron-framework","rust","web","web-development"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HeroicKatora.png","metadata":{"files":{"readme":"Readme.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":null,"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,"zenodo":null}},"created_at":"2017-11-29T15:01:24.000Z","updated_at":"2025-05-11T06:36:51.000Z","dependencies_parsed_at":"2023-11-28T11:25:37.958Z","dependency_job_id":"e332cc7c-a830-45f1-8952-e504bb955ea2","html_url":"https://github.com/HeroicKatora/oxide-auth","commit_stats":{"total_commits":822,"total_committers":27,"mean_commits":"30.444444444444443","dds":"0.26763990267639903","last_synced_commit":"019b7651e97a3ee2cde40b9806a1ecf37e051942"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Foxide-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Foxide-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Foxide-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Foxide-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HeroicKatora","download_url":"https://codeload.github.com/HeroicKatora/oxide-auth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235701,"owners_count":22036964,"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":["actix-web","iron-framework","rust","web","web-development"],"created_at":"2024-10-13T20:58:35.055Z","updated_at":"2025-05-14T22:10:02.325Z","avatar_url":"https://github.com/HeroicKatora.png","language":"Rust","readme":"# oxide-auth\n\nA OAuth2 server library, for use in combination with common web servers,\nfeaturing a set of configurable and pluggable backends.\n\n## About\n\n`oxide-auth` aims at providing a comprehensive and extensible interface to\nmanaging OAuth2 tokens on a server. The core package is agnostic of the used\nfront-end web server and adaptors for the actix, rocket, iron and rouille\ncrates are provided in extension crates. Through an interface designed with\ntraits, the frontend is as easily pluggable as the backend.\n\n## Example\n\n\u003e `$ cargo run example-actix`\n\nIn the example folder you can find an [interactive example]. This configures\na server, registers a public client and initializes a resource requiring an\nauthorization token. A client is also activated which can be used to access the\nresource. The example assumes the user to be the validated resource owner, who\ncan deny or allow the request by the client.\n\n## Integration\n\nSome popular server libraries have ready-made integration. These still require\nsome dependency on the base crate but generally wrap the interface into a user\nthat is considered more idiomatic for their library. Besides the implementation\nof `oxide-auth` traits for the request type, specific error and response traits\nare also implemented.\n\n| What             | Crate                | Notes   | Docs                                                                                                |\n|------------------|----------------------|---------|-----------------------------------------------------------------------------------------------------|\n| `actix`          | `oxide-auth-actix`   | -       | [![actix docs](https://docs.rs/oxide-auth-actix/badge.svg)](https://docs.rs/oxide-auth-actix)       |\n| `async` wrappers | `oxide-auth-async`   | -       | [![async docs](https://docs.rs/oxide-auth-async/badge.svg)](https://docs.rs/oxide-auth-async)       |\n| `redis`          | `oxide-auth-db`      | -       | [![redis docs](https://docs.rs/oxide-auth-db/badge.svg)](https://docs.rs/oxide-auth-db)             |\n| `rocket`         | `oxide-auth-rocket`  | nightly | [![rocket docs](https://docs.rs/oxide-auth-rocket/badge.svg)](https://docs.rs/oxide-auth-rocket)    |\n| `rouille`        | `oxide-auth-rouille` | -       | [![rouille docs](https://docs.rs/oxide-auth-rouille/badge.svg)](https://docs.rs/oxide-auth-rouille) |\n| `iron`           | `oxide-auth-iron`    | -       | [![iron docs](https://docs.rs/oxide-auth-iron/badge.svg)](https://docs.rs/oxide-auth-iron)          |\n| `poem`           | `oxide-auth-poem`    | -       | [![poem docs](https://docs.rs/oxide-auth-poem/badge.svg)](https://docs.rs/oxide-auth-poem)          |\n\n## Additional\n\n[![Crates.io Status](https://img.shields.io/crates/v/oxide-auth.svg)](https://crates.io/crates/oxide-auth)\n[![Docs.rs Status](https://docs.rs/oxide-auth/badge.svg)](https://docs.rs/oxide-auth/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/HeroicKatora/oxide-auth/dev-v0.4.0/docs/LICENSE-MIT)\n[![License](https://img.shields.io/badge/license-Apache-blue.svg)](https://raw.githubusercontent.com/HeroicKatora/oxide-auth/dev-v0.4.0/docs/LICENSE-APACHE)\n[![CI Status](https://api.cirrus-ci.com/github/HeroicKatora/oxide-auth.svg)](https://cirrus-ci.com/github/HeroicKatora/oxide-auth)\n\nA more or less comprehensive list of changes is contained in the\n[changelog][CHANGES]. Sometimes less as larger releases and reworks profit from\na rough overview of the changes more than a cumulative list of detailed\nfeatures.\n\nFor some hints on upgrading from older versions see the [migration\nnotes][MIGRATION].\n\nMore information about [contributing][CONTRIBUTING]. Please respect that I\nmaintain this on my own currently and have limited time. I appreciate\nsuggestions but sometimes the associate workload can seem daunting. That means\nthat simplifications to the workflow are also *highly* appreciated.\n\nLicensed under either of\n\n* MIT license ([LICENSE-MIT] or http://opensource.org/licenses/MIT)\n* Apache License, Version 2.0 ([LICENSE-APACHE] or http://www.apache.org/licenses/LICENSE-2.0)\n  at your option.\n\nThe license applies to all parts of the source code, its documentation and\nsupplementary files unless otherwise indicated. It does NOT apply to the\nreplicated full-text copies of referenced RFCs which were included for the sake\nof completion. These are distributed as permitted by [IETF Trust License\n4–Section 3.c.i][IETF4].\n\n[actix]: https://crates.io/crates/actix-web\n\n[iron]: https://crates.io/crates/iron\n\n[rocket]: https://crates.io/crates/rocket\n\n[rouille]: https://crates.io/crates/rouille\n\n[interactive example]: oxide-auth-actix/examples/actix-example\n\n[CHANGES]: CHANGELOG.md\n\n[MIGRATION]: Migration.md\n\n[CONTRIBUTING]: docs/CONTRIBUTING.md\n\n[LICENSE-MIT]: docs/LICENSE-MIT\n\n[LICENSE-APACHE]: docs/LICENSE-APACHE\n\n[IETF4]: https://trustee.ietf.org/license-info/IETF-TLP-4.htm\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroickatora%2Foxide-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheroickatora%2Foxide-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroickatora%2Foxide-auth/lists"}