Q1: Which claims does RFC 7519 require in every JWT?
Multiple ChoiceAn A2A profile wants every task token to contain iss, sub, aud, exp, and jti. Its authors say RFC 7519 itself makes that claim set mandatory.
The questions distinguish JWT syntax and cryptographic validation from claim requirements, key trust, replay control, and application authorization. Section numbers refer to RFC 7519.
An A2A profile wants every task token to contain iss, sub, aud, exp, and jti. Its authors say RFC 7519 itself makes that claim set mandatory.
A JWT has aud equal to ["task-gateway", "billing-agent"]. The billing-agent processes the token; an unrelated inventory-agent receives a copied request.
Before verifying a JWT, an A2A service reads iss, fetches a key from a URL constructed solely from that value, and accepts any token whose signature verifies with the fetched key. It has no configured issuer-to-key trust relationship.
At verifier time 12:00:30Z, a token has nbf 12:01:00Z and exp 12:10:00Z. The profile permits at most 10 seconds of clock-skew leeway.
Every A2A task token has a unique jti and a valid signature. A verifier keeps no replay state and accepts the same token repeatedly until exp. The profile claims that merely including jti provides one-time use.
A signed task JWT has aud "task-gateway" only. The gateway validates it, then calls a billing backend that owns the resource. The backend either can process the original JWT or can trust a gateway assertion, depending on the chosen profile.
A JWT Claims Set contains two role names: first viewer, then admin. An upstream parser keeps the first occurrence, while the resource server keeps the last and authorizes as administrator.
An A2A profile accepts only task JWTs signed by configured issuers. An external request supplies an otherwise well-formed Unsecured JWT with alg equal to none, an empty signature value, and plausible aud and exp claims.