繁体   English   中英

WSO2 身份服务器 - 在 JWT 中获取租户 ID

[英]WSO2 Identity Server - Get Tenant ID in JWT

请参考此链接,我可以将租户域名信息添加到我们的sub令牌中,例如username@carbon.super

但我需要一种方法将 Tenand ID 信息像声明一样放入 JWT 中。 我如何为 IS 5.10.0 执行此操作?

IS OOTB 不支持它。 但是您可以编写自定义声明提供程序示例并将其部署到身份服务器中。 请参阅此示例以了解如何编写自定义声明提供程序。 https://github.com/wso2/samples-is/tree/master/etc/custom-claim-provider

如果是authorizationcode grant or refresh token grant flow,参考这个实现https://github.com/wso2/samples-is/blob/master/etc/custom-claim-provider/src/main/java/org/wso2/ carbon/identity/custom/claim/provider/CustomClaimProvider.java#L57

additionalClaims.put("tenantName", oAuthTokenReqMessageContext.getOauth2AccessTokenReqDTO().getTenantDomain());
additionalClaims.put("tenantId", OAuth2Util.getTenantId(oAuthTokenReqMessageContext.getOauth2AccessTokenReqDTO().getTenantDomain()));

如果是隐式授权类型或混合流程,则参考此和https://github.com/wso2/samples-is/blob/master/etc/custom-claim-provider/src/main/java/org/wso2/碳/身份/自定义/声明/提供者/CustomClaimProvider.java#L44

 additionalClaims.put("tenantName", oAuthAuthzReqMessageContext.getTenantDomain());
 additionalClaims.put("tenantId", OAuth2Util.getTenantId(oAuthAuthzReqMessageContext.getTenantDomain()));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM