在wso2中未获取Grant_type'client_credentials'的JWT令牌(id_token)

时间:2018-07-19 06:26:28

标签: wso2 wso2is wso2carbon

我正在使用 IS_BASE_URL / oauth2 / token 端点来获取JWT令牌。 但它仅返回访问令牌。是否有任何解决方法来获取JWT令牌 授予类型 client_credentials ,并根据客户端和密钥凭证(服务提供商基础)设置JWT_token的可配置到期时间?。

2 个答案:

答案 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