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;