AD FS la détection des boucles

Le bouclage dans AD FS se produit lorsqu’une partie de confiance rejette en permanence un jeton de sécurité valide et redirige vers AD FS.

Pour éviter ce problème, AD FS a implémenté ce qui est appelé un cookie de détection de boucle. Par défaut, AD FS écrit un cookie sur des clients Web passifs nommés MSISLoopDetectionCookie. Ce cookie contient une valeur d’horodatage et un nombre de jetons émis. Cela permet à AD FS d’effectuer le suivi de la fréquence et du nombre de fois où un client a visité le service FS (Federation Service) dans un intervalle de temps spécifique.

Si un client passif parcourt le service FS (Federation Service) pour un jeton cinq fois dans un délai de 20 secondes, AD FS génère l’erreur suivante :

MSIS7042 : la même session de navigateur client a fait {0} des demandes « » dans les «secondes » en cours {1} . Contactez votre administrateur pour obtenir des informations complémentaires.

La saisie dans des boucles infinies est souvent due à une application de partie de confiance incorrecte qui ne consomme pas correctement le jeton émis par AD FS, et l’application renvoie le client passif à AD FS, de façon répétée, pour un nouveau jeton. AD FS émettra à chaque fois le client passif un nouveau jeton, à condition qu’ils ne dépassent pas 5 demandes dans un délai de 20 secondes.

Vous pouvez utiliser PowerShell pour modifier le nombre de jetons émis et la valeur TimeSpan.

Set-AdfsProperties -LoopDetectionMaximumTokensIssuedInterval 5  -LoopDetectionTimeIntervalInSeconds 20

La valeur minimale pour LoopDetectionMaximumTokensIssuedInterval est 1.

La valeur minimale pour LoopDetectionTimeIntervalInSeconds est 5.

Vous pouvez également désactiver la détection de boucle lorsque vous effectuez des tests de performances.

Set-AdfsProperties -EnableLoopDetection $false

Important

Il n’est pas recommandé de désactiver définitivement la détection de boucle, car cela empêche les utilisateurs d’entrer dans des États de boucle infinis.

Étapes suivantes