更改 WSO2AM API 令牌超时
Change WSO2AM API token timeouts
我正在从事使用 WSO2AM 数据的项目。我正在按照 https://docs.wso2.com/display/AM210/apidocs/publisher/#guide 中的步骤进行操作,一切正常。
我想更改已登录用户的令牌过期时间(不是应用程序订阅令牌)。我所知道的唯一实现这一目标的方法是 changing the configuration on the WSO2 application 本身。
有没有其他方法可以从消费者端获取数据?也许通过将过期持续时间作为查询字符串?
这是获取令牌的 curl 命令:
curl -k -d "grant_type=password&username=admin&password=admin&scope=apim:api_view" -H "Authorization: Basic SGZFbDFqSlBkZzV0YnRyeGhBd3liTjA1UUdvYTpsNmMwYW9MY1dSM2Z3ZXpIaGM3WG9HT2h0NUFh" https://localhost:8243/token
这是回复:
{
"scope":"apim:api_view",
"token_type":"Bearer",
"expires_in":3600,
"refresh_token":"33c3be152ebf0030b3fb76f2c1f80bf8",
"access_token":"292ff0fd256814536baca0926f483c8d"
}
基本上我希望响应中 expires_in
的值持续更长时间。
根据the OAuth2 spec,不允许用户请求令牌到期时间。因此,它是服务器端配置。
但是,WSO2 为客户端凭据授予类型提供了此功能,以便于开发人员使用不同的令牌到期时间测试他们的应用程序。
您可以通过更改“conf/identity/identity.xml[=中的以下配置来简单地增加 OAuth 令牌和刷新令牌的过期时间。 17=]
<!-- Default validity period for Authorization Code in seconds -->
<AuthorizationCodeDefaultValidityPeriod>300</AuthorizationCodeDefaultValidityPeriod>
<!-- Default validity period for application access tokens in seconds -->
<AccessTokenDefaultValidityPeriod>3600</AccessTokenDefaultValidityPeriod>
<!-- Default validity period for user access tokens in seconds -->
<UserAccessTokenDefaultValidityPeriod>3600</UserAccessTokenDefaultValidityPeriod>
<!-- Validity period for refresh token -->
<RefreshTokenValidityPeriod>84600</RefreshTokenValidityPeriod>
<!-- Timestamp skew in seconds -->
<TimestampSkew>300</TimestampSkew>
您还可以更改每个应用程序的有效期 time/expiration 时间,方法是使用 API 管理器中的相关值更改每个应用程序生成的 OAuth 令牌的有效期。
我正在从事使用 WSO2AM 数据的项目。我正在按照 https://docs.wso2.com/display/AM210/apidocs/publisher/#guide 中的步骤进行操作,一切正常。
我想更改已登录用户的令牌过期时间(不是应用程序订阅令牌)。我所知道的唯一实现这一目标的方法是 changing the configuration on the WSO2 application 本身。
有没有其他方法可以从消费者端获取数据?也许通过将过期持续时间作为查询字符串?
这是获取令牌的 curl 命令:
curl -k -d "grant_type=password&username=admin&password=admin&scope=apim:api_view" -H "Authorization: Basic SGZFbDFqSlBkZzV0YnRyeGhBd3liTjA1UUdvYTpsNmMwYW9MY1dSM2Z3ZXpIaGM3WG9HT2h0NUFh" https://localhost:8243/token
这是回复:
{
"scope":"apim:api_view",
"token_type":"Bearer",
"expires_in":3600,
"refresh_token":"33c3be152ebf0030b3fb76f2c1f80bf8",
"access_token":"292ff0fd256814536baca0926f483c8d"
}
基本上我希望响应中 expires_in
的值持续更长时间。
根据the OAuth2 spec,不允许用户请求令牌到期时间。因此,它是服务器端配置。
但是,WSO2 为客户端凭据授予类型提供了此功能,以便于开发人员使用不同的令牌到期时间测试他们的应用程序。
您可以通过更改“conf/identity/identity.xml[=中的以下配置来简单地增加 OAuth 令牌和刷新令牌的过期时间。 17=]
<!-- Default validity period for Authorization Code in seconds -->
<AuthorizationCodeDefaultValidityPeriod>300</AuthorizationCodeDefaultValidityPeriod>
<!-- Default validity period for application access tokens in seconds -->
<AccessTokenDefaultValidityPeriod>3600</AccessTokenDefaultValidityPeriod>
<!-- Default validity period for user access tokens in seconds -->
<UserAccessTokenDefaultValidityPeriod>3600</UserAccessTokenDefaultValidityPeriod>
<!-- Validity period for refresh token -->
<RefreshTokenValidityPeriod>84600</RefreshTokenValidityPeriod>
<!-- Timestamp skew in seconds -->
<TimestampSkew>300</TimestampSkew>
您还可以更改每个应用程序的有效期 time/expiration 时间,方法是使用 API 管理器中的相关值更改每个应用程序生成的 OAuth 令牌的有效期。