Module oxide_auth::code_grant
[−]
[src]
Adds frontend and backend for the authorization code flow.
The backend is largely independent of the communication protocol used and will require the necessary interfaces via traits. This makes it possible to swap out data structures used for most basic operations such as validating clients, issuing bearer tokens, asserting the validity of requests while also performing request parsing and validation in a separate step.
In large, the frontend module is responsible for defining a clear interface usable by different transport providers, http server libraries as well as potentially others, and the format of the used transport (based on HTTP because of the strong coupling in the rfc) while the backend is concerned with the logic of handling such requests.
Consequently, the return types of the backend are not HTTP responses but rather contain the necessary information to form such responses. The frontend will then convert these actions to specific responses, while encouraging implementations not to leak internal logging information to outside parties through utilization of the implemented traits.
Modules
| backend |
Available backend algorithsm. |
| error |
Errors defined in rfc6749. |
| extensions |
Provides hooks for standard or custom extensions to the OAuth process. |
| frontend |
General algorithms for frontends. |
| prelude |
Commonly used items, for clobber imports. |