WSO2 IS 5.0.0 SP01访问令牌在设定的时间没有到期?

时间:2015-04-22 08:23:32

标签: oauth-2.0 wso2is

我刚刚开始使用安装了SP01的WSO2 IS 5.0.0版。我已经配置了一个依赖方,我正在尝试使用Open ID Connect / Oauth 2.0协议,以便使用只读LDAP对我的用户进行身份验证。

文档说明我们可以控制PRODUCT_HOME / repository / conf / identity.xml中的以下XML配置标记的到期时间

<!-- Default validity period for Authorization Code in seconds -->
<AuthorizationCodeDefaultValidityPeriod>300</AuthorizationCodeDefaultValidityPeriod>

<!-- Default validity period for user access tokens in seconds (default: 3600) -->
<AccessTokenDefaultValidityPeriod>60</AccessTokenDefaultValidityPeriod>

<!-- Default validity period for application access tokens in seconds (default: 3600)-->
<UserAccessTokenDefaultValidityPeriod>60</UserAccessTokenDefaultValidityPeriod>

<!-- Validity period for refresh token -->
<RefreshTokenValidityPeriod>84600</RefreshTokenValidityPeriod>

<!-- Timestamp skew in seconds -->
<TimestampSkew>300</TimestampSkew>

<!-- Enable OAuth caching -->
<EnableOAuthCache>true</EnableOAuthCache>

我已将AccessTokenDefaultValidity和UserAccessTokenValidity都设置为60而不是3600,但似乎WSO2 IS应用程序在设置的时间内不会使它们到期。

此外,我使用PASSWORD授权类型来创建访问令牌。

为了测试这个,我使用编写的Java客户端来联系服务器并发送用户名和密码。这可以很好地生成访问令牌。

这是来自WSO2 IS服务器的响应(减去id_token的安全性): {“scope”:“openid”,“token_type”:“bearer”,“expires_in”:0 ,“refresh_token”:“a3699846516d7c39c24fea76171bd41”,“access_token”:“88286cb21f3a9888945eb806f8abcef”}

我认为 expires_in 是错误的,因为它表示0秒,换句话说,我生成的令牌应该立即过期。根据我的配置,我希望它说60秒。

在等待大约1分钟后,我仍然可以使用访问令牌来获取我的id_token,从而再次获取受保护的声明,即使它应该按照xml配置过期。

注意:我没有使用WSO2 IS APIM,这仅适用于IS产品。

感谢您的时间

0 个答案:

没有答案