pub struct AcceptedAuthority {
pub principal: Principal,
pub delegation_chain: Vec<DelegationStep>,
}Expand description
The verified effective authority one accepted operation runs under.
Captured once when the server accepts deferred work, such as a queued Verifier run, and stored with it so claim, retry, and restart reuse exactly what was accepted: the effective principal (for a delegated request, the subject/actor intersection authentication already produced, with its signed Card limit and root) and the initiator-first delegation chain with each participant’s root and non-secret credential provenance. It is never re-derived from a bare principal ID or the account’s current roles, holds no bearer token or secret, and is server-only state that no run view exposes.
Fields§
§principal: PrincipalEffective principal every protected downstream call is checked against.
delegation_chain: Vec<DelegationStep>Verified initiator-first delegation chain; empty for direct work.
Implementations§
Source§impl AcceptedAuthority
impl AcceptedAuthority
Sourcepub fn new(principal: &Principal, chain: &[DelegationStep]) -> Self
pub fn new(principal: &Principal, chain: &[DelegationStep]) -> Self
Capture principal and its verified chain as accepted authority.
Keeps the non-secret credential ID as provenance; it never authorizes later work.
Sourcepub fn owning_root(&self) -> Option<&CardUid>
pub fn owning_root(&self) -> Option<&CardUid>
The exact root that owns the accepted work.
Sourcepub fn attribution(&self) -> Attribution
pub fn attribution(&self) -> Attribution
The subject/actor pair the accepting request carried.
Trait Implementations§
Source§impl Clone for AcceptedAuthority
impl Clone for AcceptedAuthority
Source§impl Debug for AcceptedAuthority
impl Debug for AcceptedAuthority
Source§impl<'de> Deserialize<'de> for AcceptedAuthority
impl<'de> Deserialize<'de> for AcceptedAuthority
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for AcceptedAuthority
Source§impl PartialEq for AcceptedAuthority
impl PartialEq for AcceptedAuthority
Source§impl Serialize for AcceptedAuthority
impl Serialize for AcceptedAuthority
impl StructuralPartialEq for AcceptedAuthority
Auto Trait Implementations§
impl Freeze for AcceptedAuthority
impl RefUnwindSafe for AcceptedAuthority
impl Send for AcceptedAuthority
impl Sync for AcceptedAuthority
impl Unpin for AcceptedAuthority
impl UnsafeUnpin for AcceptedAuthority
impl UnwindSafe for AcceptedAuthority
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.