KamoCRM

ブラウザのWebSocketsは、セッショントークンを1回キーで認証します

Fixkamo-internal
Shipped
2026年9月24日 1:31 UTC
Author
Kamo
Commit
46191c4

15 は、hook が MediaService (media.<domain>/ws) または STOMP/SockJS 接続を開くか、 emailService(/email-ws rewrite 経由で) は、クエリ文字列に生 128-char *** セッション ID を置く (?***=<token>) — Traefikのアクセスログは、一度保存する限りクリアテキストに保存されます。 そのIDは ページのスクリプトから読みやすくなりました(app/lib/session) ハンドルはシールします)、従って価値はありました これらのホックから消えることについて無関係に。 hook は、代わりにワンタイムキーを mints します。 メニュー ポスト /api/generate-otk?use=ws (64-hex-char キー、30 s TTL) および stompjs クライアントの すべての接続の前にstompjsが待ち受ける`beforeConnect`、およびすべての再接続 — 1 時間後に再接続しても、新しいキーが1つのストールを再生するのではなく、削除されます。 お問い合わせ webSocketFactoryは、SockJS URL (`?otk=<key>`) をビルドした瞬間に最新のキーを読み込みます。 失敗したミントは、バックエンドが拒否し、stompjs retries がキーなしで接続を試みる reconnectDelay の後。 既存の「すべてでセッションがある」ゲートは無接触 — いくつかのホック セッションは、真理性チェックのために直接保存されます。これは、罰金と関係のないものです。 ワイヤーで出る価値。 ******************** では、クライアントファイル(テスト免除)も失敗します。 mintWsKey で指す `***=` で URL をビルドするのを禁止します。 それは正確にこれらを発見しました 15 原点/主のサイト; どれも残らず、古いホックを回復すると赤になります。 MediaService(b0e08ac2)とEメールサービス(279723a4)は既に`?otk=`を受け付けています — 最初にチェックしておらず、 消費された、未知のキーは、無事に拒否された、レガシー`?***=` は、古いクライアントのためにまだ受け入れられています。 これらのコミットを実行します。 テスト: wsSessionAuth.test.ts, ************************ (現在、app/hooks/**/ tests ); type/@stomp stompjs.d.ts が beforeConnect を宣言します.

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