Module oxide_auth::code_grant::backend [] [src]

Available backend algorithsm.

The backend codifies the requirements from the rfc into types and functions as safely as possible. It is, in contrast to the frontend, not concrete in the required type but rather uses a trait based internal reqpresentation. 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).

Structs

AuthorizationRequest

Represents a valid, currently pending authorization request not bound to an owner. The frontend can signal a reponse using this object.

BearerToken
CodeRef

CodeRef is a thin wrapper around necessary types to execute an authorization code grant.

ErrorDescription

Simple wrapper around AccessTokenError to imbue the type with addtional json functionality. In addition this enforces backend specific behaviour for obtaining or handling the access error.

ErrorUrl

Encapsulates a redirect to a valid redirect_url with an error response. The implementation makes it possible to alter the contained error, for example to provide additional optional information. The error type should not be altered by the frontend but the specificalities of this should be enforced by the frontend instead.

GuardRef
IssuerRef

Issuer is a thin wrapper around necessary types to execute an bearer token request..

Enums

AccessError

Indicates the reason for access failure.

CodeError

Defines the correct treatment of the error. Not all errors are signalled to the requesting party, especially when impersonation is possible it is integral for security to resolve the error internally instead of redirecting the user agent to a possibly crafted and malicious target.

IssuerError

Defines actions for the response to an access token request.

Traits

AccessTokenRequest

Necessary

CodeRequest

Interface required from a request to determine the handling in the backend.

GuardRequest