Wso2令牌到期

时间:2016-06-13 07:08:25

标签: oauth-2.0 wso2 wso2is

Wso2 Identity Server v 5.1.0,已禁用集成LDAP并使用Readonly LDAP进行身份验证

使用/ oauth2 / token API对wso2 IS进行身份验证时,最初wso2将返回输出

{
"access_token": "fa738bd8c50d4506cf2c3566ed86adb8",
  "refresh_token": "9b2d346cc05f827f4cab99bc9c90401a",
  "scope": "openid",
  "token_type": "Bearer",
  "expires_in": 3600
}

在1秒内再次访问API时,它提供的过期为' 3300',

所以我的问题是为什么每次第一次访问API时都会扣除300?

3 个答案:

答案 0 :(得分:1)

请检查identity.xml的值

<OAuth> --> <TimestampSkew>300</TimestampSkew>

默认值为300.在计算到期时间时减少时间戳偏差也将客户端置于安全端(网络延迟等)。您可以根据需要更改值。

答案 1 :(得分:1)

来自WSO2 docs

配置令牌过期时间

用户访问令牌具有固定的到期时间,默认设置为60分钟。在将API Manager部署到用户之前,请通过编辑<AccessTokenDefaultValidityPeriod>中的<PRODUCT_HOME>/repository/conf/identity.xml元素来延长默认过期时间。

配置到期时间时,还要考虑时间戳偏斜。时间戳偏斜用于管理不同服务器的系统时钟中的小时间间隔。例如,假设您有两个密钥管理器,您可以从第一个生成令牌并使用另一个进行身份验证。如果第二台服务器的时钟提前300秒运行,则可以在第一台服务器中配置300s时间戳偏移。当第一个密钥管理器生成令牌(例如,使用默认生命周期,即3600秒)时,将从令牌的生命周期中扣除时间戳偏差。新生命周期为3300秒,第一台服务器在3200秒后调用第二台服务器。

您可以使用<TimestampSkew>中的<PRODUCT_HOME>/repository/conf/identity.xml元素配置时间戳偏斜。

提示:理想情况下,时间戳偏差不应大于令牌的生命周期。如果群集中的节点已同步,我们建议您将其设置为零。此外,请注意,当启用API网关缓存时(默认情况下已启用),即使在令牌过期后,它仍将在缓存中供消费者使用,直到缓存在大约15分钟后到期。

答案 2 :(得分:0)

鉴于我理解您的查询,请尝试 将IS_HOME \ repository \ conf \ identity \ identity.xml中的<TimestampSkew>300</TimestampSkew>值更改为<TimestampSkew>0</TimestampSkew>