Struct mz_frontegg_auth::auth::Authenticator
source · pub struct Authenticator {
inner: Arc<AuthenticatorInner>,
}
Expand description
Facilitates authenticating users via Frontegg, and verifying returned JWTs.
Fields§
§inner: Arc<AuthenticatorInner>
Implementations§
source§impl Authenticator
impl Authenticator
sourcepub fn new(
config: AuthenticatorConfig,
client: Client,
registry: &MetricsRegistry,
) -> Self
pub fn new( config: AuthenticatorConfig, client: Client, registry: &MetricsRegistry, ) -> Self
Creates a new authenticator.
sourcepub fn from_args(
args: FronteggCliArgs,
registry: &MetricsRegistry,
) -> Result<Option<Self>, Error>
pub fn from_args( args: FronteggCliArgs, registry: &MetricsRegistry, ) -> Result<Option<Self>, Error>
Create an Authenticator
from FronteggCliArgs
.
sourcepub async fn authenticate(
&self,
expected_user: &str,
password: &str,
) -> Result<AuthSessionHandle, Error>
pub async fn authenticate( &self, expected_user: &str, password: &str, ) -> Result<AuthSessionHandle, Error>
Establishes a new authentication session.
If successful, returns a handle to the authentication session. Otherwise, returns the authentication error.
async fn authenticate_inner( &self, expected_user: &str, password: AppPassword, ) -> Result<AuthSessionHandle, Error>
sourcepub fn validate_access_token(
&self,
token: &str,
expected_user: Option<&str>,
) -> Result<ValidatedClaims, Error>
pub fn validate_access_token( &self, token: &str, expected_user: Option<&str>, ) -> Result<ValidatedClaims, Error>
Validates an access token, returning the validated claims.
The following validations are always performed:
-
The token is not expired, according to the
Authentication
’s clock. -
The tenant ID in the token matches the
Authentication
’s tenant ID.
If expected_user
is provided, the token’s user name is additionally
validated to match expected_user
.
Trait Implementations§
source§impl Clone for Authenticator
impl Clone for Authenticator
source§fn clone(&self) -> Authenticator
fn clone(&self) -> Authenticator
Returns a copy of the value. Read more
1.0.0 · 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 Authenticator
impl !RefUnwindSafe for Authenticator
impl Send for Authenticator
impl Sync for Authenticator
impl Unpin for Authenticator
impl !UnwindSafe for Authenticator
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.