我已经在component / lib文件夹中部署了扩展束。 WSO2IS仍使用JWTTokenIssuer生成令牌。我在扩展程序包中看不到任何错误。
我已经覆盖了OauthTokenIssuerImpl,可以说customTokenIssuer来获取自定义创建的令牌。但是当我调试日志时,它同时实例化了customTokenIssuer和JWTTokenIssuer,但是框架不使用customTokenIssuer来生成令牌。
我已使用customTokenIssuer类更新了identity.xml。
是POM中缺少的东西,还是XML中缺少某些条目的东西?
[2019-05-23 10:53:59,900] INFO {org.wso2.carbon.identity.oauth.config.OAuthServerConfiguration} - An instance of abc.xxx.xxx.xx.customTokenIssuer is created for Identity OAuth token generation.
..........
[2019-05-23 10:54:00,084] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Added OAuthTokenReqMessageContext to threadlocal
[2019-05-23 10:54:00,086] DEBUG {org.wso2.carbon.identity.oauth2.token.JWTTokenIssuer} - JWT Access token builder is initiated
[2019-05-23 10:54:00,086] INFO {org.wso2.carbon.identity.oauth.config.OAuthServerConfiguration} - An instance of org.wso2.carbon.identity.oauth2.token.JWTTokenIssuer is created for Identity OAuth token generation.
...................
[2019-05-23 10:54:00,092] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler} - OAuth application id: XXxXXXXXXXXXXXXX, user access token validity time 3600000ms
[2019-05-23 10:54:00,092] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler} - OAuth application id : XXxXXXXXXXXXXXXX, access token validity time in milliseconds : 3600000
[2019-05-23 10:54:00,096] DEBUG {org.wso2.carbon.identity.oauth2.token.JWTTokenIssuer} - Access token request with token request message context. Authorized user XXxXX@carbon.super
[2019-05-23 10:54:00,096] DEBUG {org.wso2.carbon.identity.oauth2.token.JWTTokenIssuer} - User Access Token Life time set to : 3600000ms.
[2019-05-23 10:54:00,097] DEBUG {org.wso2.carbon.identity.oauth2.token.JWTTokenIssuer} - JWT Self Signed Access Token Life time set to : 3600000ms.
[2019-05-23 10:54:00,098] DEBUG {org.wso2.carbon.identity.oauth2.token.JWTTokenIssuer} - Scope exist for the jwt access token with subject XXxXX@carbon.super and the scope is openid
[2019-05-23 10:54:00,154] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler} - Existing access token has expired, but refresh token is still valid for client: XXxXXXXXXXXXXXXX. Remaining time: 17420133ms. Using existing refresh token.
按照我的观点,只有customTokenIssuer应该被实例化并用于生成令牌。
答案 0 :(得分:0)
忘记选择服务提供商中的令牌发行者,一旦部署了定制令牌生成器jar并更新了identity.xml文件,就必须从服务提供商中选择令牌发行者。
答案 1 :(得分:0)
在identity.xml文件中添加了自定义OAuthTokenGenerator之后,我们需要在服务提供商配置下的身份入站身份验证配置中配置相关的令牌发行者。
因此,现在我们必须转到服务提供商>入站身份验证配置> OAuth / OpenID Connect配置>令牌发行者,然后选择已配置的令牌发行者。
如果不在服务提供商中添加该配置,则令牌发行者中的更改将不会反映给服务提供商。