[][src]Struct oxide_auth::frontends::simple::endpoint::Vacant

pub struct Vacant;

Marker struct if some primitive is not provided.

Used in place of other primitives when those are not provided. The exact semantics depend on the primitive.

Registrar, Authorizer, Issuer

Statically ensures to the Generic endpoint that no such primitive has been provided. Using the endpoint for flows that need such primitives will fail during the preparation phase. This returns Option::None in the implementations for OptRef<T>, OptRegistrar, OptAuthorizer, OptIssuer.

OwnerSolicitor

A solicitor denying all requests. This is the 'safe' default solicitor, remember to configure your own solicitor when you actually need to use it.

In contrast to the other primitives, this can not be solved as something such as OptSolicitor<W> since there is no current stable way to deny other crates from implementing OptSolicitor<WR> for some WR from that other crate. Thus, the compiler must assume that None may in fact implement some solicitor and this makes it impossible to implement as an optional reference trait for all solicitors in one way but in a different way for the None solicitor.

Scopes

Returns an empty list of scopes, effictively denying all requests since at least one scope needs to be fulfilled by token to gain access.

See OwnerSolicitor for discussion on why this differs from the other primitives.

Trait Implementations

impl OptAuthorizer for Vacant[src]

impl OptIssuer for Vacant[src]

impl OptRegistrar for Vacant[src]

impl<W: WebRequest> OwnerSolicitor<W> for Vacant[src]

impl<W: WebRequest> ResponseCreator<W> for Vacant where
    W::Response: Default
[src]

impl<W: WebRequest> Scopes<W> for Vacant[src]

Auto Trait Implementations

impl RefUnwindSafe for Vacant

impl Send for Vacant

impl Sync for Vacant

impl Unpin for Vacant

impl UnwindSafe for Vacant

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> OptAuthorizer for T where
    T: Authorizer
[src]

impl<T> OptIssuer for T where
    T: Issuer
[src]

impl<T> OptRegistrar for T where
    T: Registrar
[src]

impl<W, F> ResponseCreator<W> for F where
    F: FnMut() -> <W as WebRequest>::Response,
    W: WebRequest
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,