No description
  • Rust 99.6%
  • Shell 0.4%
Find a file
Aurelia Molzer 0e3ef86d92
Merge pull request #236 from kodebooth/oxide-auth-doc-test
test(oxide-auth): fix doc tests for oxide-auth crate
2026-01-31 17:31:10 +00:00
.github ci: replace cirrus ci 2026-01-27 19:26:46 -08:00
docs Get rid of contributors check 2021-09-25 22:00:01 +02:00
examples/support clippy(examples): resolve unnecessary_get_then_check 2026-01-25 21:35:43 -08:00
oxide-auth test(oxide-auth): fix doc tests for oxide-auth crate 2026-01-30 19:24:27 -08:00
oxide-auth-actix clippy(actix-example): resolve type_complexity 2026-01-25 21:36:49 -08:00
oxide-auth-async Merge pull request #233 from kodebooth/resolve-unused-warnings 2026-01-29 00:31:08 +00:00
oxide-auth-axum clippy(oxide-auth-axum): resolve mismatched_lifetime_syntaxes 2026-01-21 16:54:28 -08:00
oxide-auth-db Merge pull request #227 from kodebooth/oxide-auth-db-example-clippy-non-breaking 2026-01-26 18:27:31 +00:00
oxide-auth-iron Merge pull request #222 from kodebooth/cargo-fmt 2026-01-22 02:56:21 +00:00
oxide-auth-poem clippy(oxide-auth-poem): resolve mismatched_lifetime_syntaxes 2026-01-21 17:17:02 -08:00
oxide-auth-rocket fmt: apply formatting corrections 2026-01-21 18:31:13 -08:00
oxide-auth-rouille clippy(oxide-auth-rouille): resolve redundant_pattern_matching 2026-01-25 21:52:08 -08:00
.gitignore poem request 2022-04-18 15:21:00 +09:00
Cargo.toml build: fix resolver warning 2024-05-24 10:25:01 +02:00
CHANGELOG.md Update CHANGELOG.md 2023-12-21 10:26:23 +01:00
Contributors.txt Fix 'Cannot drop a runtime' error 2022-07-08 03:56:16 +03:00
Migration.md Add changelog for oxide-auth 0.6 2024-05-25 16:00:22 +02:00
Readme.md Add oxide-auth-poem to the .cirrus.yml, readme, and other doc places 2025-03-13 17:06:22 -04:00
release Get rid of contributors check 2021-09-25 22:00:01 +02:00
rustfmt.toml Modernize rustfmt configuration 2024-06-01 22:07:00 +02:00

oxide-auth

A OAuth2 server library, for use in combination with common web servers, featuring a set of configurable and pluggable backends.

About

oxide-auth aims at providing a comprehensive and extensible interface to managing OAuth2 tokens on a server. The core package is agnostic of the used front-end web server and adaptors for the actix, rocket, iron and rouille crates are provided in extension crates. Through an interface designed with traits, the frontend is as easily pluggable as the backend.

Example

$ cargo run example-actix

In the example folder you can find an interactive example. This configures a server, registers a public client and initializes a resource requiring an authorization token. A client is also activated which can be used to access the resource. The example assumes the user to be the validated resource owner, who can deny or allow the request by the client.

Integration

Some popular server libraries have ready-made integration. These still require some dependency on the base crate but generally wrap the interface into a user that is considered more idiomatic for their library. Besides the implementation of oxide-auth traits for the request type, specific error and response traits are also implemented.

What Crate Notes Docs
actix oxide-auth-actix - actix docs
async wrappers oxide-auth-async - async docs
redis oxide-auth-db - redis docs
rocket oxide-auth-rocket nightly rocket docs
rouille oxide-auth-rouille - rouille docs
iron oxide-auth-iron - iron docs
poem oxide-auth-poem - poem docs

Additional

Crates.io Status Docs.rs Status License License CI Status

A more or less comprehensive list of changes is contained in the changelog. Sometimes less as larger releases and reworks profit from a rough overview of the changes more than a cumulative list of detailed features.

For some hints on upgrading from older versions see the migration notes.

More information about contributing. Please respect that I maintain this on my own currently and have limited time. I appreciate suggestions but sometimes the associate workload can seem daunting. That means that simplifications to the workflow are also highly appreciated.

Licensed under either of

The license applies to all parts of the source code, its documentation and supplementary files unless otherwise indicated. It does NOT apply to the replicated full-text copies of referenced RFCs which were included for the sake of completion. These are distributed as permitted by IETF Trust License 4Section 3.c.i.