KamoCRM

WebSocket Handhake의 짧은 라이브 otk를 받아 ***

FixMediaService
Shipped
2026년 9월 24일 오전 12:15 UTC
Author
Kamo
Commit
b0e08ac

kamo-internal는 브라우저 자바 스크립트에서 *** 세션 ID를 이동: 그것은 현재 sessionStorage에 앉아 모든 WebSocket URL을 타고 `?***=<128-hex id>`, Traefik의 접속 로그 레코드가 가득합니다. 뚱 베어 WebSockets 대신 kamo-internal의 단축 키 수행 mints (POST /api/generate-otk): Redis `OTK<otk>` -> 128-hex *** id. 두 서비스는 kamo 내부 스위치의 앞에 그것을 위에 받아들이 필요가 있습니다, 그래서 이것 첫 번째 배. WebSocketAuthInterceptor 이제 `otk` 쿼리 매개 변수를 읽고 그것을 해결 **************를 통해 (새, 함께 기존의 consuming validateAndConsumeOneTimeKey는 X-OTK에 사용됩니다. 이것은 SockJS 엔드포인트, 그래서 하나의 브라우저 연결은 하나의 Handhake를 만들 수 있습니다 그것은 프로브 수송으로, 그리고 consuming 읽는 가을을 깰 것 — 키의 자신의 짧은 TTL 대신 경계. Precedence는 otk, 그 후 레거시 *** 쿼리 퍼머, 그 후 *** 쿠키. 현재는 otk이지만 해결하지 않는 것은 어렵습니다. 그것은 결코 떨어지지 않습니다. 를 통해 *** 또는 쿠키, 어떤 탭을 새로 고침 마지막으로 다른 세션을 침묵적으로 인증합니다. 이름 * 지난 세션 해상도 변경 (회원 자격, 속성). 한국어 그리고 해결된 ID는 절대로 기록되지 않습니다, 주변 코드 일치. 시험: KSessionServiceOneTimeKeyTest와 WebSocketAuthInterceptorTest 덮개 otk 해결책과 비 소비, reject-on-unresolved-otk precedence 규칙, 유산 *** 아직도 일하고, 그리고 더 큰 거절. 둘 다 선지자 규칙과 no-delete 규칙은 손으로 돌진했다 (이전 / 버기 모양에 각각을 다시 변환 빨간색 실행을 재현).

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