Q1: RFC 7519がすべてのJWTへ必須とするclaimはどれか
単一選択A2A profileは全task tokenへiss, sub, aud, exp, jtiを含めたいと考えています. authorはRFC 7519自身がこのclaim setを必須にすると説明しています.
JWTの構文・暗号検証と、claim要件、key trust、replay対策、application authorizationを分けて判断する問題です。節番号はRFC 7519を指します。
A2A profileは全task tokenへiss, sub, aud, exp, jtiを含めたいと考えています. authorはRFC 7519自身がこのclaim setを必須にすると説明しています.
JWTのaudは["task-gateway", "billing-agent"]です. billing-agentがtokenを処理し, 無関係なinventory-agentがcopyされたrequestを受け取ります.
A2A serviceはJWTをverifyする前にissを読み, その値だけから構成したURLでkeyを取得し, 取得keyでsignatureがverifyできればacceptします. issuer-to-keyのconfigured trust relationshipはありません.
verifier timeが12:00:30Zの時, tokenのnbfは12:01:00Z, expは12:10:00Zです. profileが許すclock-skew leewayは最大10秒です.
すべてのA2A task tokenはuniqueなjtiとvalidなsignatureを持ちます. verifierはreplay stateを保持せず, expまで同じtokenを何度でもacceptします. profileはjtiを含めるだけでone-time useになると主張します.
signed task JWTのaudは"task-gateway"だけです. gatewayがvalidateした後, resourceを所有するbilling backendを呼びます. profile次第で, backendはoriginal JWTを処理するかgateway assertionを信頼します.
JWT Claims Setにroleが2回あり、最初はviewer、次はadminです。upstream parserは最初の値を保持し、resource serverは最後の値を保持してadministratorとしてauthorizeします。
A2A profileは、設定済みissuerが署名したtask JWTだけを受理します。外部requestから、algがnone、signature valueが空で、もっともらしいaudとexpを持つwell-formedなUnsecured JWTが届きました。