pub struct OidcAuthProvider { /* private fields */ }Expand description
OIDC authentication provider
Validates JWT tokens (access or ID tokens) from configured OIDC providers. Caches both JWKS and validated tokens for performance.
Implementations§
Source§impl OidcAuthProvider
impl OidcAuthProvider
Sourcepub async fn new(config: OidcConfig) -> Result<OidcAuthProvider, Error>
pub async fn new(config: OidcConfig) -> Result<OidcAuthProvider, Error>
Create a new OIDC authentication provider
Trait Implementations§
Source§impl AuthProvider for OidcAuthProvider
impl AuthProvider for OidcAuthProvider
Source§fn validate_request<'life0, 'life1, 'async_trait>(
&'life0 self,
parts: &'life1 dyn RequestParts,
) -> Pin<Box<dyn Future<Output = Result<AuthContext, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
OidcAuthProvider: 'async_trait,
fn validate_request<'life0, 'life1, 'async_trait>(
&'life0 self,
parts: &'life1 dyn RequestParts,
) -> Pin<Box<dyn Future<Output = Result<AuthContext, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
OidcAuthProvider: 'async_trait,
Validate a request and return authentication context
Auto Trait Implementations§
impl Freeze for OidcAuthProvider
impl !RefUnwindSafe for OidcAuthProvider
impl Send for OidcAuthProvider
impl Sync for OidcAuthProvider
impl Unpin for OidcAuthProvider
impl !UnwindSafe for OidcAuthProvider
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].