#oauth #server #oauth2

oxide-auth

A OAuth2 library for common web servers, featuring a set of configurable and pluggable backends

23 releases

0.5.0 Sep 27, 2020
0.5.0-preview.0 Dec 23, 2019
0.4.5 Aug 20, 2019
0.4.3 Jun 3, 2019
0.1.0-alpha.1 Nov 29, 2017

#13 in #oauth2

Download history 108/week @ 2021-02-16 41/week @ 2021-02-23 31/week @ 2021-03-02 35/week @ 2021-03-09 24/week @ 2021-03-16 88/week @ 2021-03-23 99/week @ 2021-03-30 54/week @ 2021-04-06 67/week @ 2021-04-13 65/week @ 2021-04-20 40/week @ 2021-04-27 60/week @ 2021-05-04 46/week @ 2021-05-11 75/week @ 2021-05-18 33/week @ 2021-05-25 29/week @ 2021-06-01

250 downloads per month
Used in less than 6 crates

MIT/Apache

395KB
7.5K SLoC

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. You can provide your own request, response and error types as well as choose any custom method of authenticating clients and users by implement the appropriate traits.

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

Additional

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 4–Section 3.c.i][IETF4].

Dependencies

~5.5MB
~132K SLoC