幅広いブラウザー互換性を必要とするNode.js/Socket.IOを使用するアプリケーションで作業しているため、クライアントがブラウザーでWebSocketをサポートしていない可能性があります。基盤となるトランスポートに関係なく、ユーザーを認証するための最も堅牢な方法を知りたいと思いました。
理想的な接続/ハンドシェイクでsessionIDを使用してCookieを送信する例はいくつかありますが、送信されるCookieが異なるため、これがFlashSocketsで機能しないのではないかと心配しています。
もう1つの方法は、ユーザーが認証するときにクライアントにSessionIDを保存させ、ユーザーがSocket接続を必要とするときに、最初のメッセージとしてセッションIDを送信することです。このアプローチの問題は、完全な接続を確立するオーバーヘッドが発生することです。これは、負荷またはセキュリティの観点からは理想的ではありません。
クライアントとサーバー間で使用されている基本的なトランスポートメカニズムに関係なく、接続/ハンドシェイクフェーズ(つまり、接続されたソケットを介してトークンを送信しない)でSocket.IOを使用する最適な認証パターンは何ですか?