Closed deterministic grant producer input.
Fields
key_id- the issuer key identifier written to 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 holder confirmation (cnf.jkt) as the raw 32-byte RFC 7638 SHA-256 thumbprint of the holder's public JWK, not base64url; compute it withBoundedAuthorityProtocol.V1.Jwk.public_key_thumbprint_raw/2.operations- a nonempty list of at mostoperations(64)BoundedAuthorityProtocol.V1.Operationstructs with unique names.
Summary
Types
Producer input for BoundedAuthorityProtocol.V1.grant_signing_input/2.
Types
@type t() :: %BoundedAuthorityProtocol.V1.Grant{ audiences: [binary()], expires_at: integer(), grant_id: binary(), holder_thumbprint: binary(), issued_at: integer(), issuer: binary(), key_id: binary(), not_before: integer(), operations: [BoundedAuthorityProtocol.V1.Operation.t()] }
Producer input for BoundedAuthorityProtocol.V1.grant_signing_input/2.