Class JwtClaimTenantIdResolver
java.lang.Object
io.leandev.appfuse.security.tenant.resolver.JwtClaimTenantIdResolver
- All Implemented Interfaces:
TenantIdResolver
從 OAuth2 JWT 的 claims 中解析租戶 ID
適用於使用 Spring Security OAuth2 Resource Server 的場景,
此時 authentication.getPrincipal() 為 Jwt 類型。
範例:
// JWT payload: {"sub": "user", "tenantId": "tenant-123", ...}
TenantIdResolver resolver = new JwtClaimTenantIdResolver("tenantId");
String tenantId = resolver.resolve(authentication); // "tenant-123"
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescription使用預設 claim 名稱 "tenantId" 建構JwtClaimTenantIdResolver(String claimName) 使用指定的 claim 名稱建構 -
Method Summary
-
Field Details
-
DEFAULT_CLAIM_NAME
-
-
Constructor Details
-
JwtClaimTenantIdResolver
public JwtClaimTenantIdResolver()使用預設 claim 名稱 "tenantId" 建構 -
JwtClaimTenantIdResolver
使用指定的 claim 名稱建構- Parameters:
claimName- JWT 中的租戶 ID claim 名稱
-
-
Method Details
-
resolve
Description copied from interface:TenantIdResolver從認證資訊中解析租戶 ID- Specified by:
resolvein interfaceTenantIdResolver- Parameters:
authentication- Spring Security 認證物件,不為 null- Returns:
- 租戶 ID,若此 resolver 無法處理則返回 null
-