KamoCRM

Accettare un otk di breve durata sul handshake WebSocket, insieme a ***

FixMediaService
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).

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing