pub struct DelegationApi;Expand description
DelegationApi
Requires auth.delegated_tokens.enabled = true in config.
Implementations§
Source§impl DelegationApi
impl DelegationApi
Sourcepub async fn admin(
cmd: DelegationAdminCommand,
) -> Result<DelegationAdminResponse, Error>
pub async fn admin( cmd: DelegationAdminCommand, ) -> Result<DelegationAdminResponse, Error>
Execute explicit root-controlled delegation repair/prewarm operations.
Source§impl DelegationApi
impl DelegationApi
pub async fn store_proof( request: DelegationProofInstallRequest, kind: DelegationProvisionTargetKind, ) -> Result<(), Error>
Source§impl DelegationApi
impl DelegationApi
Sourcepub fn set_delegated_session_subject(
delegated_subject: Principal,
bootstrap_token: DelegatedToken,
requested_ttl_secs: Option<u64>,
) -> Result<(), Error>
pub fn set_delegated_session_subject( delegated_subject: Principal, bootstrap_token: DelegatedToken, requested_ttl_secs: Option<u64>, ) -> Result<(), Error>
Persist a temporary delegated session subject for the caller wallet.
Sourcepub fn clear_delegated_session()
pub fn clear_delegated_session()
Remove the caller’s delegated session subject.
Sourcepub fn delegated_session_subject() -> Option<Principal>
pub fn delegated_session_subject() -> Option<Principal>
Read the caller’s active delegated session subject, if configured.
Sourcepub fn prune_expired_delegated_sessions() -> usize
pub fn prune_expired_delegated_sessions() -> usize
Prune all currently expired delegated sessions.
Source§impl DelegationApi
impl DelegationApi
Sourcepub fn verify_delegation_proof(
proof: &DelegationProof,
authority_pid: Principal,
) -> Result<(), Error>
pub fn verify_delegation_proof( proof: &DelegationProof, authority_pid: Principal, ) -> Result<(), Error>
Full delegation proof verification (structure + signature).
Purely local verification; does not read certified data or require a query context.
Sourcepub async fn issue_token(
claims: DelegatedTokenClaims,
) -> Result<DelegatedToken, Error>
pub async fn issue_token( claims: DelegatedTokenClaims, ) -> Result<DelegatedToken, Error>
Issue a delegated token using a reusable local proof when possible.
If the proof is missing or no longer valid for the requested claims, this performs canonical shard-initiated setup and retries with the refreshed proof.
Sourcepub fn verify_token(
token: &DelegatedToken,
authority_pid: Principal,
now_secs: u64,
) -> Result<(), Error>
pub fn verify_token( token: &DelegatedToken, authority_pid: Principal, now_secs: u64, ) -> Result<(), Error>
Full delegated token verification (structure + signature).
Purely local verification; does not read certified data or require a query context.
Sourcepub fn verify_token_verified(
token: &DelegatedToken,
authority_pid: Principal,
now_secs: u64,
) -> Result<(DelegatedTokenClaims, DelegationCert), Error>
pub fn verify_token_verified( token: &DelegatedToken, authority_pid: Principal, now_secs: u64, ) -> Result<(DelegatedTokenClaims, DelegationCert), Error>
Verify a delegated token and return verified contents.
This is intended for application-layer session construction. It performs full verification and returns verified claims and cert.
Sourcepub async fn request_delegation(
request: DelegationRequest,
) -> Result<DelegationProvisionResponse, Error>
pub async fn request_delegation( request: DelegationRequest, ) -> Result<DelegationProvisionResponse, Error>
Canonical shard-initiated delegation request (user_shard -> root).
Caller must match shard_pid and be registered to the subnet.