1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//! Available backend algorithms.
//!
//! The backend codifies the requirements for the  from the [RFC 6749] into types and functions as
//! safely as possible. The result of the backend are abstract results, actions which should be
//! executed or relayed by the frontend using its available types. Abstract in this sense means
//! that the reponses from the backend are not generic on an input type.
//!
//! Another consideration is the possiblilty of reusing some components with other oauth schemes.
//! In this way, the backend is used to group necessary types and as an interface to implementors,
//! to be able to infer the range of applicable end effectors (i.e. authorizers, issuer,
//! registrars).
//!
//! ## Usage
//!
//! For all purposes that offer user interaction through an access point, you should probably have
//! a look at the encapsulation provided by [`endpoint`] instead. You should only fallback to this
//! if the flows provided there are too generic (unlikely) or your use case makes an [`Endpoint`]
//! implementation impossible.
//!
//! ## Limitations
//!
//! The only supported authentication method for clients is password based. This is not to be
//! confused with users in the sense of people registering accounts on a social media platform. In
//! OAuth nomenclature, those are resource owners while a client is a user of a (Bearer) token.
//!
//! [RFC 6479]: https://tools.ietf.org/html/rfc6749
//! [`endpoint`]: ../endpoint/index.html
//! [`Endpoint`]: ../endpoint/trait.Endpoint.html

pub mod accesstoken;
pub mod authorization;
pub mod error;
pub mod extensions;
pub mod refresh;
pub mod resource;