- Shipped
- 2026년 9월 24일 오전 12:09 UTC
- Author
- Kamo
- Commit
- 3e3c3e7
***는 읽기 (httpOnly:false)를 놓고 몇몇 응답은 익지않는 세션 ID를 덧붙였습니다 사이트 맵 페이지 스크립트는 endpoint가 다시 값을 읽으면 쿠키의 HttpOnly 플래그를 사용할 수 없습니다. - /api/session/extend 및 /api/session/info는 sessionInfo.sessionId, /api/user-info를 반환했습니다. 그것은 TokenId로, /api/debug/cookies로 ***Value. 그들은 이제 8-character 미리보기를 반환합니다 (만 소비자는 시스템 디버그 화면이었습니다. - /valid은 세션 게이트없이 제공되며 모든 쿠키 VALUE를 페이지에 렌더링합니다. — on HttpOnly 쿠키도 볼 수 있는 서버. 그것은 지금 이름과 크기를 보여줍니다. - /api/session/extend Plant *** 와 httpOnly: true. 브라우저는 여전히 EventSources에 전송, <img>/<video> 과 /meet/join 그에 따라; 스크립트는 더 이상 그것을 읽을 수 없습니다. - **************** 이제도 읽을 수있는 *** 쿠키가 실패했습니다. 다음 단계의 Groundwork, /api/validate까지 inert는 핸들을 발급: - app/lib/sessionHandle.ts: 탭의 세션 HANDLE는 AES-256-GCM로 밀봉된 128-hex ID입니다 SESSION HANDLE SECRET와 HttpOnly의 랜덤 per-browser 키에서 파생된 키 Host-KBK 쿠키. 정확히 128 문자, 그래서 모든 기존 클라이언트 체크는 그것을 허용; 쓸모없는 다른 브라우저; 탬퍼링은 태그를 실패. sessionHandle.test.ts는 물개/오픈, 외국을 포함합니다 브라우저, 탬퍼링, 비밀 없음. - proxy.ts는 X-***-Token에서 경로에 대한 실제 ID로 핸들을 엽니다. 그래서 ~180 헤더가 변경할 필요가 없다는 것을 읽는 경로; 헤더를 모두 떨어뜨리지 않는 손잡이 및 공유된 *** 쿠키는 다른 탭의 세션으로 떨어졌다. 더 보기 matcher now include /api/:path* 명시적으로 (static-file rule Skipped /api/*.png). - WebSocket Handhakes의 /api/generate-otk Gains purpose=ws (30 s); 로그아웃 브라우저 키 유지 (다른 탭의 핸들은 그것에 달려 있습니다). - k8s/deployment.yaml는 kamo-internal-session-handle Secret를 마운트합니다.
