pub enum HandleIdentity {
Credentialless,
CatalogUser {
username: String,
user_id: u64,
created_version: u64,
},
ServicePrincipal {
token_id: String,
principal_id: [u8; 16],
creation_version: u64,
},
}Expand description
The per-caller identity bound to one handle (spec §10.1, S1A-001).
Catalog identities pin one user generation and are re-resolved against the
live catalog on each authorized operation. Service identities pin a
registered token generation (token_id + principal_id +
creation_version) and re-resolve live scopes from the shared core’s
service-principal store on each authorize (P0.1).
Variants§
Credentialless
No credentials were supplied for this handle.
CatalogUser
A user resolved from the database catalog. user_id +
created_version pin the exact catalog generation so username reuse
cannot revive a stale identity.
ServicePrincipal
An authenticated service principal. Authority is re-resolved live from the shared core; the handle never freezes a caller-supplied permission vector.
Trait Implementations§
Source§impl Clone for HandleIdentity
impl Clone for HandleIdentity
Source§fn clone(&self) -> HandleIdentity
fn clone(&self) -> HandleIdentity
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 HandleIdentity
impl Debug for HandleIdentity
impl Eq for HandleIdentity
Source§impl PartialEq for HandleIdentity
impl PartialEq for HandleIdentity
impl StructuralPartialEq for HandleIdentity
Auto Trait Implementations§
impl Freeze for HandleIdentity
impl RefUnwindSafe for HandleIdentity
impl Send for HandleIdentity
impl Sync for HandleIdentity
impl Unpin for HandleIdentity
impl UnsafeUnpin for HandleIdentity
impl UnwindSafe for HandleIdentity
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> 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