#oauth #server #oauth2

oxide-auth

A OAuth2 server library, for actix, rocket, iron or other libraries, featuring a set of configurable and pluggable backends

20 releases

0.4.5 Aug 20, 2019
0.4.3 Jun 3, 2019
0.4.2 Feb 15, 2019
0.4.0-preview.1 Dec 26, 2018
0.1.0-alpha.1 Nov 29, 2017

#57 in HTTP server

Download history 27/week @ 2019-08-10 16/week @ 2019-08-17 319/week @ 2019-08-24 35/week @ 2019-08-31 64/week @ 2019-09-07 74/week @ 2019-09-14 78/week @ 2019-09-21 29/week @ 2019-09-28 46/week @ 2019-10-05 3/week @ 2019-10-12 91/week @ 2019-10-19 23/week @ 2019-10-26 43/week @ 2019-11-02 5/week @ 2019-11-09 48/week @ 2019-11-16

207 downloads per month

MIT license

410KB
7.5K SLoC

oxide-auth

A OAuth2 server library, for use in combination with actix or other frontends, 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. While the core package is agnostic of the used frontend, an optional actix and a rouille adaptor is provided with the default configuration. 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.

Frontends

These server libraries are integrated:

Name Feature Notes
actix actix-frontend, default Still 0.7, includes integration into messages
rocket rocket-frontend, nightly -
rouille rouille-frontend -
iron iron-frontend -

Additional

Crates.io Status Docs.rs Status 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.

The code is MIT licensed. 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.

Dependencies

~8–12MB
~322K SLoC