pub struct AuthorizationEvaluation {
pub original: CredentialPresentation,
pub mode: Option<AuthorizationMode>,
pub outcome: AuthorizationOutcome,
pub checks: Vec<AuthorizationCheckEvidence>,
pub rights: Option<AccessRightsEvaluation>,
pub accompaniment: Option<AccompanimentEvaluation>,
pub credentials: Vec<AuthorizationCredentialEvidence>,
pub companion_diagnostics: Vec<CompanionAuthorizationDiagnostic>,
pub passback_reporting_problem: Option<AuthorizationProblem>,
pub events: Vec<AuthorizationEventIntent>,
}Expand description
Retained evidence and bounded ordered intents from one shared database borrow.
Fields§
§original: CredentialPresentationThe authenticated original presentation supplied by the application.
mode: Option<AuthorizationMode>Served mode, when admission could decode it.
outcome: AuthorizationOutcomeFull pass result; only Granted is actionable permission.
checks: Vec<AuthorizationCheckEvidence>Visited checks, in order, stopping at the first denial/pending/unknown.
rights: Option<AccessRightsEvaluation>Original assigned-rights result, when that criterion was needed.
accompaniment: Option<AccompanimentEvaluation>Existing accompaniment result, including child rights diagnostics.
credentials: Vec<AuthorizationCredentialEvidence>Original/relied-on companion prerequisite reads, in inspection order.
companion_diagnostics: Vec<CompanionAuthorizationDiagnostic>Known invalid companion prerequisites; no child events are generated.
passback_reporting_problem: Option<AuthorizationProblem>Why optional SOFT reporting could not be established during a visited PASSBACK-exempt check. This API retains unknown/malformed/failed evidence here without making exempt reporting a required authorization criterion. It neither invents a detection nor permits a failed read to use fallback. None means no reporting problem was encountered, including when that criterion was not visited or its known mode needed no reporting evidence.
events: Vec<AuthorizationEventIntent>At most four root intents: soft passback, accompaniment BY, external phase, and terminal event. Their actual order follows the check order; a terminal grant/denial is always last. Re-evaluation repeats these intents.