- Shipped
- 24 settembre 2026 alle ore 00:15 UTC
- Author
- Kamo
- Commit
- b0e08ac
kamo-internal sta spostando il *** sessione id fuori dal browser JavaScript: it attualmente siede in sessioneStorage e cavalca ogni WebSocket URL come "?***= <128-hex id>`, che il registro di accesso di Traefik registra in pieno. Browser WebSockets invece porterà una chiave di una volta breve che kamo-internal mints (POST /api/generate-otk): Redis `OTK Entrambi i servizi devono accettarlo prima di interruttori kamo-internal, quindi questo Prima le navi. WebSocketAuthInterceptor ora legge un parametro di query `otk` e lo risolve E' il momento giusto. (nuovo, accanto al validateandConsumeOneTimeKey usato per X-OTK): questo è un SockJS endpoint, quindi una connessione del browser può fare più di una stretta di mano che sonda i trasporti, e una lettura consumante romperebbe il fallback — il La chiave è proprio breve TTL lo lega invece. Precedence is otk, then the legacy *** query param, then the *** cookie. Un otk che è presente ma non risolve è un rifiuto duro: non cade mai attraverso il *** o il cookie, che appartiene a qualsiasi scheda rinfrescata ultimo e altrimenti autenticare silenziosamente una sessione diversa. Niente. modifiche di risoluzione della sessione passata (ammissibilità dei membri, attributi). Il otk e id risolti non sono mai registrati, corrispondente al codice circostante. Test: KSessionServiceOneTimeKeyTest e WebSocketAuthInterceptor otk risoluzione e non consumo, la priorità respinta regola, eredita', ancora funzionante, e nessun rifiuto riservato. Entrambi la regola di precedenza e la regola di no-delete sono stati controllati a mano (revertendo ciascuno alla forma vecchia/buggy riproduce una corsa rossa).
