pub enum AuthResult {
Authenticated {
username: String,
role: Role,
source: AuthSource,
},
Anonymous,
Denied(String),
}Expand description
Outcome of auth validation for an incoming request.
Variants§
Authenticated
Fully authenticated with RBAC.
Fields
§
source: AuthSourceWhich auth path produced this identity. Defaults to
Password for callers that haven’t been updated to set it
explicitly, keeping backwards compatibility.
Anonymous
No credentials provided.
Denied(String)
Credentials were provided but rejected.
Implementations§
Source§impl AuthResult
impl AuthResult
Sourcepub fn password(username: impl Into<String>, role: Role) -> Self
pub fn password(username: impl Into<String>, role: Role) -> Self
Back-compat constructor for password auth — callers that predate
the AuthSource field can keep passing (user, role).
Sourcepub fn from_cert(id: CertIdentity) -> Self
pub fn from_cert(id: CertIdentity) -> Self
Build an AuthResult from a validated client certificate.
Sourcepub fn from_oauth(id: OAuthIdentity) -> Self
pub fn from_oauth(id: OAuthIdentity) -> Self
Build an AuthResult from a validated OAuth/OIDC token.
Sourcepub fn is_authenticated(&self) -> bool
pub fn is_authenticated(&self) -> bool
Whether this result represents a successfully identified caller.
Trait Implementations§
Source§impl Clone for AuthResult
impl Clone for AuthResult
Source§fn clone(&self) -> AuthResult
fn clone(&self) -> AuthResult
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 AuthResult
impl RefUnwindSafe for AuthResult
impl Send for AuthResult
impl Sync for AuthResult
impl Unpin for AuthResult
impl UnsafeUnpin for AuthResult
impl UnwindSafe for AuthResult
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§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> 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