pub struct CertIdentity {
pub username: String,
pub role: Role,
pub subject_dn: String,
pub serial_hex: String,
pub not_after_unix_secs: i64,
}Expand description
Parsed identity extracted from a validated client certificate.
The auth store consumes this to either look up a matching persisted user or treat it as an ephemeral identity (no entry in the user table, role is cert-derived).
Fields§
§username: String§role: Role§subject_dn: StringSubject DN — preserved for audit logging even when we don’t map it back to a persisted user.
serial_hex: StringCertificate serial number in uppercase hex — audit identifier.
not_after_unix_secs: i64Unix-seconds expiry of the certificate. Auth middleware rejects requests once this passes even if the cert is still in cache.
Trait Implementations§
Source§impl Clone for CertIdentity
impl Clone for CertIdentity
Source§fn clone(&self) -> CertIdentity
fn clone(&self) -> CertIdentity
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 moreSource§impl Debug for CertIdentity
impl Debug for CertIdentity
Source§impl PartialEq for CertIdentity
impl PartialEq for CertIdentity
Source§fn eq(&self, other: &CertIdentity) -> bool
fn eq(&self, other: &CertIdentity) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for CertIdentity
impl StructuralPartialEq for CertIdentity
Auto Trait Implementations§
impl Freeze for CertIdentity
impl RefUnwindSafe for CertIdentity
impl Send for CertIdentity
impl Sync for CertIdentity
impl Unpin for CertIdentity
impl UnsafeUnpin for CertIdentity
impl UnwindSafe for CertIdentity
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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