wso2 am 2.1.0 jwt令牌到期
使用WSO2AM 2.1.0,我们希望使用JWT令牌将api、用户和应用程序信息传递给后端服务进行授权。问题在于JWT验证,因为过期时间戳设置为当前时间戳 阅读其他资源没有多大帮助:wso2 am 2.1.0 jwt令牌到期,wso2,wso2-am,Wso2,Wso2 Am,使用WSO2AM 2.1.0,我们希望使用JWT令牌将api、用户和应用程序信息传递给后端服务进行授权。问题在于JWT验证,因为过期时间戳设置为当前时间戳 阅读其他资源没有多大帮助: api-manager.xml的内容 <CacheConfigurations> <EnableGatewayTokenCache>true</EnableGatewayTokenCache> <EnableGatewayResourceCache
<CacheConfigurations>
<EnableGatewayTokenCache>true</EnableGatewayTokenCache>
<EnableGatewayResourceCache>true</EnableGatewayResourceCache>
<JWTClaimCacheExpiry>900</JWTClaimCacheExpiry>
...
<APIKeyValidator>
...
<JWTExpiryTime>900</JWTExpiryTime>
<SecurityContextTTL>900</SecurityContextTTL>
</APIKeyValidator>
真的
真的
900
...
...
900
900
(即使根据资源,启用KM或GW缓存时,JWTExpiryTime也不起作用)
如果令牌缓存被禁用(待验证),那么JWTExpiryTime看起来是有效的,但是出于性能原因,我们希望缓存访问令牌
编辑:如果启用了(网关或KeyManager)令牌缓存,则JWT过期只需设置为当前时间戳(使JWT令牌在没有与后端服务就令牌回旋/倾斜时间达成协议的情况下不可用)。令牌在缓存生存期内被缓存(默认情况下为15分钟),因此后端必须允许过期令牌保留15分钟。还是我遗漏了什么
如果令牌缓存被禁用(待验证),则JWTExpiryTime似乎生效
你说得对。只有在禁用网关和密钥管理器缓存时,才能使用{APIM_HOME}/repository/conf/api-manager.xml中的JWTExpiryTime设置JWT过期时间戳
但是,如果希望令牌缓存保持启用状态,同时防止JWT在生成JWT时过期,则可以在api-manager.xml中的CacheConfigurations部分下设置TokenCacheExpire属性,如下所示
<CacheConfigurations>
...
<TokenCacheExpiry>900</TokenCacheExpiry>
...
</CacheConfigurations>
...
900
...
使用此属性可以定义网关或密钥管理器的缓存到期时间,默认值为900(秒)
有关更多信息,请参阅以下文档