Mise en cache du jeton SAML par le client de services Web
Lorsqu'un jeton SAML est demandé initalement, l'environnement d'exécution des services Web met automatiquement en mémoire cache SAMLToken. Il résulte de cette fonction de mise en cache automatique du jeton par le client que les demandes de services web suivantes peuvent réutiliser le jeton obtenu précédemment.
La mise en cache du jeton SAML par le client de services Web permet à celui-ci de réutiliser des jetons SAML lorsqu'il accède à des services métier. La réutilisation de jetons SAML valides réduit le trafic vers le STS et l'impact sur les performances que fait peser l'envoi de messages de demande WS-Trust. Un jeton doit répondre à plusieurs conditions pour être considéré comme valide, et donc disponible pour la mise en cache et la réutilisation.
Pour qu'un jeton soit réutilisable, son heure d'expiration doit être équivalente ou supérieure à l'heure actuelle. Une marge de sécurité de cache est ajoutée à l'heure en cours lors de la comparaison de l'expiration du jeton à l'heure en cours pour que le jeton n'expire pas immédiatement après son envoi.
En outre, un jeton n'est valide que s'il est renvoyé au même service métier. La fonction SAML de WebSphere Application Server ne vérifie pas la condition AudienceRestriction pour le jeton SAML. Ainsi, une manière facile de s'assurer que le jeton SAML est réutilisé pour l'audience appropriée est de ne le réutiliser que pour le service web auquel il était destiné à l'origine. Si une assertion contient OneTimeUse, le jeton n'est pas mis en cache.
- Le délai d'expiration du jeton SAML doit être relativement long, et le jeton doit disposer d'une durée de vie d'au moins 5 minutes après l'exécution de la première demande. L'environnement d'exécution WS-Security valide l'heure d'expiration du jeton SAML mis en cache par rapport à une marge de sécurité de cache prédéfinie.
Le jeton mis en cache n'est valide que si sa durée de vie restante est supérieure à la marge de sécurité du cache. La valeur par défaut de la marge de sécurité est de 5 minutes.
Cette valeur est configurable à l'aide de la propriété personnalisée cacheCushion.
Pour remplacer la marge de sécurité du cache par défaut, éditez la propriété personnalisée CallbackHanlder du générateur de jeton SAMLToken. Ajoutez la propriété cacheCushion et définissez la valeur, en millisecondes, de la marge de sécurité du cache. Si la durée de vie du jeton SAML mis en cache est dans la limite de la marge de sécurité, un nouveau jeton SAML est demandé.
Vous pouvez, par exemple, faire passer la marge de sécurité à 3 minutes, ou 180000 millisecondes.
Nom de la propriété personnalisée valeur cacheCushion 180000 - Le jeton SAML ne peut pas contenir l'assertion OneTimeUse.
- Si le jeton est chiffré, vérifiez que le STS communique l'heure d'expiration du jeton hors du jeton chiffré et que le jeton SAML ne contient pas l'assertion OneTimeUse.
Nom de la propriété personnalisée | valeur |
---|---|
cacheToken | false |