pub struct TokenRecord {
pub id: String,
pub capabilities: CapabilitySet,
pub label: String,
pub created_at: SystemTime,
}Expand description
A registered token: the capabilities it grants plus provenance metadata.
The store maps an opaque bearer-token string to one of these records
(spec §9). The token string itself stays the wire credential
(Authorization: Bearer <token>); the record is the server-side authority
on what that token may do.
Fields§
§id: StringIdentifier for the audit trail.
Assigned at registration and unrelated to the token’s value, so a trail can name the caller without containing the credential. Per-process: tokens are not persisted, so neither is this.
capabilities: CapabilitySetCapabilities this token grants (spec §2 mechanism).
label: StringHuman-readable label for provenance (e.g. "legacy", "operator").
created_at: SystemTimeWhen the token was registered.
Implementations§
Source§impl TokenRecord
impl TokenRecord
Sourcepub fn new(capabilities: CapabilitySet, label: impl Into<String>) -> Self
pub fn new(capabilities: CapabilitySet, label: impl Into<String>) -> Self
Create a token record with the given capabilities and label.
Sourcepub fn full_control(label: impl Into<String>) -> Self
pub fn full_control(label: impl Into<String>) -> Self
Create a full-control (wildcard) token — the legacy-key mapping target
and the full-control preset (spec §4, §6).
Trait Implementations§
Source§impl Clone for TokenRecord
impl Clone for TokenRecord
Source§fn clone(&self) -> TokenRecord
fn clone(&self) -> TokenRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TokenRecord
impl RefUnwindSafe for TokenRecord
impl Send for TokenRecord
impl Sync for TokenRecord
impl Unpin for TokenRecord
impl UnsafeUnpin for TokenRecord
impl UnwindSafe for TokenRecord
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.