SAML 的 Web Service 客户机令牌高速缓存

当初次请求 SAML 令牌时,Web service 运行时环境将自动对 SAML 令牌进行高速缓存。由于该自动客户机令牌高速缓存功能,后续 Web service 请求可以使用来自先前请求的 SAML 令牌。

SAML 的 Web service 客户机令牌高速缓存使 Web service 客户机在访问业务服务时能够复用 SAML 令牌。复用有效 SAML 令牌可减少安全性令牌服务 (STS) 的流量,还可降低发送 WS-Trust 请求消息的性能影响。对于令牌,需要考虑几个要求才能被视为有效,继而可用于高速缓存和复用。

要能够复用 SAML 令牌,令牌的到期时间必须等于或大于当前时间。 在将令牌到期时间与当前时间进行比较时,会向当前时间添加一个高速缓存缓冲,以便令牌在发送后不会立即到期。

此外,仅当令牌再次发送到同一个业务服务时,令牌才有效。WebSphere® Application Server 中的 SAML 功能不会验证 SAML 令牌的 AudienceRestriction 条件。因此,确保将 SAML 令牌复用于正确受众的实用方法是:仅对最初使用令牌的同一 Web service 复用令牌。如果断言包含 OneTimeUse 断言,那么不会对 SAML 令牌进行高速缓存。

要利用 SAML 令牌高速缓存,应用程序和 SAML 令牌必须满足以下需求:
  • SAML 令牌必须具有相对较长的到期时间:在第一个请求完成之后在令牌生存期中至少剩余 5 分钟。WS-Security 运行时环境将针对预定义高速缓存缓冲来验证高速缓存的 SAML 令牌到期时间。 仅当剩余令牌生存期大于缓冲值时,高速缓存的令牌才有效。缺省缓冲值为 5 分钟。 此值是使用定制属性 cacheCushion 来配置的。 要覆盖缺省高速缓存缓冲,请编辑 SAML 令牌生成器的定制属性 CallbackHandler。添加 cacheCushion 属性并设置高速缓存缓冲值(以毫秒计)。如果高速缓存的 SAML 令牌生存期在高速缓存缓冲限制之内,那么将请求新的 SAML 令牌。 例如,可以将高速缓存缓冲更改为 3 分钟或 180000 毫秒。
    定制属性名
    cacheCushion 180000
  • SAML 令牌不能包含 OneTimeUse 断言。
  • 如果 SAML 令牌已加密,请确保 STS 在已加密令牌的外部传播令牌到期时间,并确保 SAML 令牌不包含 OneTimeUse 断言。
当不希望将同一 SAML 令牌复用于后续请求时,您可以使用定制属性 cacheToken 来禁用客户端 SAML 令牌高速缓存。要禁用客户端 SAML 令牌高速缓存,请在 SAML 令牌生成器的 CallbackHandler 中修改定制属性。添加 cacheToken 属性并将值设置为 false
定制属性名
cacheToken false

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_tokencacheclientsaml
文件名:cwbs_tokencacheclientsaml.html