pub struct AuthenticationService { /* private fields */ }Expand description
A service for handling user authentication with OIDC.
Implementations§
Source§impl AuthenticationService
impl AuthenticationService
pub fn new(authentication_engine: Arc<dyn AuthenticationEngine>) -> Self
Sourcepub async fn callback(
&self,
callback_params: CallbackRequestParams,
persisted_data: OidcSessionPersisted,
) -> Result<User, AuthenticationServiceError>
pub async fn callback( &self, callback_params: CallbackRequestParams, persisted_data: OidcSessionPersisted, ) -> Result<User, AuthenticationServiceError>
After authentication, the IdP would redirect the user agent to the callback route. This would handle the finalizing the OIDC flow to return the validated user.
The persisted_data would be extracted from the web session; it
should have been stored as part of the /authorize endpoint. The
callback_params would have come from the query params of the callback
handler.
Trait Implementations§
Source§impl Clone for AuthenticationService
impl Clone for AuthenticationService
Source§impl Debug for AuthenticationService
impl Debug for AuthenticationService
Source§impl<S> FromRequestParts<S> for AuthenticationService
impl<S> FromRequestParts<S> for AuthenticationService
Auto Trait Implementations§
impl !RefUnwindSafe for AuthenticationService
impl !UnwindSafe for AuthenticationService
impl Freeze for AuthenticationService
impl Send for AuthenticationService
impl Sync for AuthenticationService
impl Unpin for AuthenticationService
impl UnsafeUnpin for AuthenticationService
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<S, T> FromRequest<S, ViaParts> for T
impl<S, T> FromRequest<S, ViaParts> for T
Source§type Rejection = <T as FromRequestParts<S>>::Rejection
type Rejection = <T as FromRequestParts<S>>::Rejection
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§fn from_request(
req: Request<Body>,
state: &S,
) -> impl Future<Output = Result<T, <T as FromRequest<S, ViaParts>>::Rejection>>
fn from_request( req: Request<Body>, state: &S, ) -> impl Future<Output = Result<T, <T as FromRequest<S, ViaParts>>::Rejection>>
Perform the extraction.
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more