Class ActingClaims
代理/模擬的 JWT claim wire 契約(見 ADR-013)。
兩個正交維度、無模式判別器:模擬性由 actor claim 是否存在表達、代理性由 grantors
claim 是否非空表達,兩者彼此獨立、可自由共存於同一 token(如「A 模擬 B 且 B 被 C 指派代理」
→ actor=A + grantors=[C] 並存)。是否共存完全由應用層政策決定,框架不設 act_mode、
不做預設、不仲裁「主模式」。
代理授權人、模擬者與有效身份一律以不可變的 subject 識別,對齊 JWT sub。
username 等顯示欄位由應用層 reference adapter 解析,框架 wire contract 不承載可變名稱。
簽發端(JwtTokenProvider.generateDelegationToken(UserDetails, List, Map)、
JwtTokenProvider.generateImpersonationToken(UserDetails, String, Map))與讀取端(ActingContext)
共用本類別的 claim 名稱與 map 組裝,確保 round-trip 對稱。因無模式 key,delegation(List)
與 impersonation(String) 的產物可直接 merge 成同時帶兩維的 claim(無 key 衝突)。框架只定義
wire 契約與 token 組裝;啟用時機、閘門、授權/啟用記錄一律由應用層承擔。
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String目前 acting family 綁定的應用政策識別(例如 standard/consent/break-glass)。static final String模擬者(真實操作者)claim 名稱(值為 stable subject 字串);存在即代表當前 token 具模擬性static final String代理授權人集合 claim 名稱(值為 stable subject 字串陣列);非空即代表當前 token 具代理性static final StringRefresh Session family 與 Access Token family 的共同識別。 -
Method Summary
-
Field Details
-
CLAIM_GRANTORS
代理授權人集合 claim 名稱(值為 stable subject 字串陣列);非空即代表當前 token 具代理性- See Also:
-
CLAIM_ACTOR
模擬者(真實操作者)claim 名稱(值為 stable subject 字串);存在即代表當前 token 具模擬性- See Also:
-
CLAIM_SESSION_ID
Refresh Session family 與 Access Token family 的共同識別。- See Also:
-
CLAIM_ACTING_POLICY
目前 acting family 綁定的應用政策識別(例如 standard/consent/break-glass)。- See Also:
-
-
Method Details
-
delegation
組出代理維度的 claim:
grantors=[subject, …]。可與
impersonation(String)的產物 merge,構成同時帶模擬與代理兩維的 token。- Parameters:
grantors- 代理授權人 stable subject 集合(至少一筆非空)- Returns:
- 供併入 JWT 的 claim map
- Throws:
IllegalArgumentException- 當 grantors 為空或全為空白
-
impersonation
組出模擬維度的 claim:
actor=subject。可與
delegation(List)的產物 merge,構成同時帶模擬與代理兩維的 token。- Parameters:
actor- 真實操作者(模擬者)的 stable subject- Returns:
- 供併入 JWT 的 claim map
- Throws:
IllegalArgumentException- 當 actor 為空
-