pub struct OidcClient { /* private fields */ }Available on crate feature
sso only.Expand description
A thin OIDC / OAuth 2.0 client that performs the authorization code flow.
Implementations§
Source§impl OidcClient
impl OidcClient
Sourcepub fn new(config: OidcConfig) -> OidcClient
pub fn new(config: OidcConfig) -> OidcClient
Create a new client for the given configuration.
Build the URL to redirect the user to for authorization.
Returns the full URL including response_type, client_id,
redirect_uri, scope, state, nonce, and (for OIDC providers)
PKCE code_challenge / code_challenge_method.
Store state, nonce, and pkce.as_str() in the pre-auth session
before issuing the redirect.
Sourcepub fn exchange_code(
&self,
code: &str,
pkce_verifier: &str,
) -> Result<TokenResponse, SsoError>
pub fn exchange_code( &self, code: &str, pkce_verifier: &str, ) -> Result<TokenResponse, SsoError>
Exchange an authorization code for tokens at the token endpoint.
Sourcepub fn fetch_user_info(
&self,
access_token: &str,
) -> Result<OidcClaims, SsoError>
pub fn fetch_user_info( &self, access_token: &str, ) -> Result<OidcClaims, SsoError>
Fetch user info from the provider’s UserInfo endpoint using access_token.
Trait Implementations§
Source§impl Clone for OidcClient
impl Clone for OidcClient
Source§fn clone(&self) -> OidcClient
fn clone(&self) -> OidcClient
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OidcClient
impl RefUnwindSafe for OidcClient
impl Send for OidcClient
impl Sync for OidcClient
impl Unpin for OidcClient
impl UnsafeUnpin for OidcClient
impl UnwindSafe for OidcClient
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Available on crate feature
map-response-body only.Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
Available on crate feature
trace only.High level tracing that classifies responses using gRPC headers. Read more