我正在使用 IS_BASE_URL / oauth2 / token 端点来获取JWT令牌。 但它仅返回访问令牌。是否有任何解决方法来获取JWT令牌 授予类型 client_credentials ,并根据客户端和密钥凭证(服务提供商基础)设置JWT_token的可配置到期时间?。
答案 0 :(得分:3)
在更高的IS版本(IS-5.4.0及更高版本)中,我们在identity.xml文件中进行如下配置。
<SupportedGrantType>
<GrantTypeName>client_credentials</GrantTypeName>
<GrantTypeHandlerImplClass>org.wso2.carbon.identity.oauth2.token.handlers.grant.ClientCredentialsGrantHandler</GrantTypeHandlerImplClass>
<IsRefreshTokenAllowed>false</IsRefreshTokenAllowed>
<IdTokenAllowed>false</IdTokenAllowed>
</SupportedGrantType>
在这里您必须提及IdTokenAllowed为true。然后,您将获得id令牌以及用于client_credential授予类型的访问令牌。
目前,我们还没有一种方法可以为每个应用程序配置ID令牌或JWT令牌的到期时间,而只能使用全局配置。您可以在标签IDTokenExpiration内的identity.xml文件中全局设置id令牌的过期时间(默认情况下,identity.xml文件包含标签IDTokenExpiration)
<IDTokenExpiration>3600</IDTokenExpiration>
更新:-从最新的身份服务器(IS-5.6.0)起,您可以配置每个应用程序的ID令牌到期时间。您可以参考https://docs.wso2.com/display/IS560/Configuring+OAuth2-OpenID+Connect+Single-Sign-On以获得更多信息。
答案 1 :(得分:0)
您需要将范围提供为openid。
样品卷曲要求如下。
curl -k -d“ grant_type = client_credentials&scope = openid” -H“授权:基本ZjdJbk9mQ2dxRUZyckVna1hQa2dFU1BwUDk0YTpJZkhSZ0dsOHVzOXI4TlkybkxPN0tiQXQxQTRh” TOKEN_ENDPOINT