Cache do Token de Cliente de Serviços da Web para SAML
Quando um token SAML é solicitado inicialmente, o ambiente de tempo de execução de serviços da Web armazena em cache automaticamente o SAMLToken. Como resultado dessa função de armazenamento em cache do token cliente automático, solicitações de serviços da Web subsequentes poderão usar o SAMLToken da solicitação anterior.
O cache do token cliente de serviços da Web para SAML permite que os clientes de serviços da Web reutilizem tokens SAML ao acessar os serviços de negócios. A reutilização de tokens SAML válidos reduz o tráfego no Security Token Service (STS) e também reduz o impacto no desempenho do envio de mensagens de pedido WS-Trust. Existem vários requisitos para um token ser considerado válido e, portanto, disponível para armazenamento em cache e reutilização.
Para que um token SAML seja reutilizado, o prazo de expiração do token deve ser equivalente a ou maior que o prazo atual. Um cushion de cache é incluído no tempo atual quando comparar o tempo de expiração do token com o tempo atual, portanto, o token não expira imediatamente após ser enviado.
Além disso, um token será válido apenas se for enviado novamente para o mesmo serviço de negócios. A função SAML no WebSphere Application Server não verifica a condição AudienceRestriction para o token SAML. Portanto, uma maneira prática de garantir que o token SAML seja reutilizado para o público correto é reusar o token apenas no mesmo serviço da Web que usou originalmente o token. Se uma asserção contiver a asserção OneTimeUse, o token SAML não será armazenado em cache.
- O SAMLToken deve ter um prazo de expiração relativamente longo, com pelo menos
5 minutos restantes no tempo de vida do token após a conclusão do primeiro pedido. O ambiente de tempo de execução WS-Security valida o prazo de expiração
de SAMLToken em cache em relação a um cushion de cache predefinido.
O token em cache será válido apenas se o tempo de vida do token restante
for maior que o valor de cushion. O valor de cushion padrão é de 5 minutos.
Esse valor pode ser configurado usando a propriedade customizada, cacheCushion.
Para substituir o cushion de cache padrão, edite a propriedade customizada CallbackHandler
para o gerador SAMLToken. Inclua a propriedade cacheCushion
e configure o valor de cushion de cache em milissegundos. Se o tempo de vida de SAMLToken
em cache estiver dentro do limite de cushion de cache, será solicitado um novo SAMLToken.
Por exemplo, é possível alterar o cushion de cache para 3 minutos ou 180000
milissegundos.
Nome da propriedade customizada Valor cacheCushion 180000 - O token SAML não pode conter a asserção OneTimeUse.
- Se o token SAML for criptografado, certifique-se de que o STS comunique o tempo de expiração do token fora do token criptografado e que o token SAML não inclua a asserção OneTimeUse.
Nome da propriedade customizada | Valor |
---|---|
cacheToken | falso |