BoundedAuthorityProtocol. V2. DecodedGrant
(Bounded Authority Protocol v1.0.0)
Copy Markdown
View Source
Closed bounded decoded grant with explicitly unevaluated verification.
Returned by BoundedAuthorityProtocol.V2.decode_grant/2 for diagnosis only; it is never a verified value.
Fields
version- the contract-major, always2.key_id- the issuer key identifier read from the protectedkidheader: 1 tokid_bytes(128) bytes of ASCII letters, digits,-,.,_or~. An untrusted lookup hint, never a trust selector.issuer- theissclaim: non-empty StringOrURI of at mostidentifier_bytes(512) UTF-8 bytes, compared byte-for-byte.grant_id- thejticlaim: non-empty StringOrURI of at mostidentifier_bytes(512) UTF-8 bytes.audiences- theaudclaim: a nonempty list of unique StringOrURI values, at mostaudiences(64) entries of at mostidentifier_bytesbytes each.issued_at- theiatclaim, integer Unix time in seconds.not_before- thenbfclaim, integer Unix time in seconds.expires_at- theexpclaim, integer Unix time in seconds; it must be after bothissued_atandnot_before(issued_at <= not_beforeis not required).holder_thumbprint- the decodedcnf.jkt: the raw 32-byte RFC 7638 thumbprint of the holder's public JWK.operations- the decoded operations asBoundedAuthorityProtocol.V2.Operationstructs, in grant order.verification- always:not_evaluated: no signature, key or expected context was checked.
Summary
Types
@type t() :: %BoundedAuthorityProtocol.V2.DecodedGrant{ audiences: [binary()], expires_at: integer(), grant_id: binary(), holder_thumbprint: binary(), issued_at: integer(), issuer: binary(), key_id: binary(), not_before: integer(), operations: [BoundedAuthorityProtocol.V2.Operation.t()], verification: :not_evaluated, version: 2 }
An unverified decoded grant.