- 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 규칙은 손으로 돌진했다 (이전 / 버기 모양에 각각을 다시 변환 빨간색 실행을 재현).
