- Expédié
- 24 septembre 2026 à 00:15 UTC
- Auteur
- Kamo
- Commit
- b0e08ac
kamo-internal déplace le *** session id hors du navigateur JavaScript: it se trouve actuellement dans sessionStorage et chevauche chaque URL WebSocket comme `?***=<128-hex id>`, quel est le registre d'accès de Traefik en entier. Navigateur WebSockets portera plutôt une clé unique courte-vie que kamo-interne menthes (POST /api/generate-otk): Redis `OTK<otk>` -> le 128-hex *** id. Les deux services doivent l'accepter avant que kamo-internal bascule, donc ceci Les navires d'abord. WebSocketAuthInterceptor lit maintenant un paramètre de requête `otk` et le résout à travers **************** (nouveau, à côté de consommation existante valideAndConsumeOneTimeKey utilisé pour X-OTK): SockJS endpoint, donc une connexion de navigateur peut faire plus d'une poignée de main comme il sonne transporte, et une lecture consommatrice briserait le recul — le la clé est propre court TTL le limite à la place. La priorité est otk, puis l'aléatoire ***, puis le cookie ***. Un otk qui est présent mais qui ne résout pas est un dur rejet: il ne tombe jamais jusqu'à *** ou le cookie, qui appartient à l'onglet rafraîchi et authentifierait en silence une session différente. Rien les modifications apportées à la résolution des sessions précédentes (admissibilité des membres, attributs). L'otk et l'identifiant résolu ne sont jamais enregistrés, correspondant au code environnant. Tests: KSessionServiceOneTimeKeyTest et couverture WebSocketAuthInterceptorTest otk résolution et non-consommation, le rejet sur non-résolu-otk priorité la règle, l'héritage *** fonctionne toujours, et le rejet sans fondement. Les deux la règle de préséance et la règle de non-suppression ont été contrôlées à la main (rétrograder chacun à la forme ancienne/buggy reproduit un run rouge).
