Je pense avoir - enfin - cerné un cas particulier où on peut avoir le comportement décrit !
Cela peut arriver si l’URL token info de l’IdP (qu’on appelle pour vérifier le token externe passé) ne fournit pas une info qui permet de déterminer la date d’expiration du token ou si le paramétrage ne permet pas de déterminer quel attribut contient cette info => par défaut on cherche un attribut exp
= date d’expiration ou, à defaut, un attribut expires_in
= durée avant expiration mais si c’est un autre nommage il y a besoin de préciser explicitement lequel
Or, en fallback, on considère que la date d’expiration du token est = à la date de l’appel.
Du coup ce 1er appel passe (car l’expiration est bien >= à la date de la requête, = en l’occurrence)
L’appel suivant ne passe pas (car cette fois la date d’expiration du token mis en cache est < à la date de la requête) et ça finit en erreur “Expired token”, et Simplicité supprime ce token de son cache.
L’appel suivant se passe comme le 1er appel (car vu de Simplicité c’est un nouveau token) et ainsi de suite…
Dans la révision 5.1.32 on a ajouté un warning pour signaler ce cas où on a utilisé en fallback la date courante pour la date d’expiration => si vous êtes bien dans ce cas particulier là on le verra dans les logs (et il faudra alors regarder de près ce que renvoie l’URL token info pour mettre en place le mapping qui va bien)
Sinon, dans cette révision on a aussi backporté (depuis la 5.2) le décodage+validation du token JWT en alternative à sa validation par appel de l’URL de token info. La date d’expiration étant autoportée dans le token JWT il n’y a plus de pb => dans votre cas il vaudrait sans doute mieux basculer sur ce mode de vérification du token (si vos tokens sont bien des tokens JWT)
Cette révision 5.1.32 a été mise à disposition ce soir. Après upgrade il faudra regarder de près vos logs pour déterminer la bonne configuration (sans oublier de commencer par inhiber ou supprimer le OAUTH2_PROVIDER
qui ne peut que créer des problèmes). Si besoin en passant le log event DAUTHCS001
à Info pour avoir plus de détails.