pub struct DelegationOutcome {
pub decision: Decision,
pub granted_permissions: Vec<String>,
pub granted_audience: Option<String>,
pub granted_expires_at: Option<String>,
}Expand description
What a delegation invocation returned.
On success, decision is Allow and the granted_* fields reflect
what the IdP actually issued (which may be narrower than what the
route asked for — granted_permissions is the source of truth for
what the downstream tool will accept). The evaluator surfaces these
into the bag under the delegation.granted.* sub-namespace plus a
delegation.granted = true flag.
On Deny, granted_* fields are empty / None and the
delegation.granted flag is not set (absent → falsy).
Fields§
§decision: Decision§granted_permissions: Vec<String>Permissions the IdP actually granted on the minted token. Empty when the call failed or the plugin returned no token.
granted_audience: Option<String>Audience the minted token is valid for. None when no token
was produced.
granted_expires_at: Option<String>Token expiry (RFC 3339 string for bag-friendly representation).
None when no token was produced.
Implementations§
Trait Implementations§
Source§impl Clone for DelegationOutcome
impl Clone for DelegationOutcome
Source§fn clone(&self) -> DelegationOutcome
fn clone(&self) -> DelegationOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more