0

クローズド アプリを作成しています (ユーザーはそれを使用するために認証する必要があります)。Latchet セッションから現在認証されているユーザーを特定するのに問題があります。apache は長期接続をサポートしていないため、別のサーバー インスタンスで Latchet をホストしています。これは、ユーザーが 2 つの session_id を受け取ることを意味します。接続ごとに 1 つ。両方の接続で現在のユーザーを識別できるようにしたいと考えています。

私のクライアント コードは、AngularJS に基づく SPA です。クライアント WS には、Autobahn.ws WAMP v1 実装を使用しています。ab フレームワークは認証の方法を指定します: http://autobahn.ws/js/reference_wampv1.html#session-authenticationですが、これを行うにはどうすればよいですか?

ユーザー名とパスワードをクライアントに保存し、ログインが実行されたら再送信しますか (ちなみに、これは私の SPA の残りの部分とは別のものです)。もしそうなら、これはセキュリティ上の懸念ではないでしょうか?

そして、認証要求サーバー側を受け取るのは何ですか? 私はこれの例を見つけることができません...

助けてください?

PS タグ「Latchet」を作成するのに十分な評判がないので、代わりに Ratchet (Latchet が構築されている) を使用しています。

4

3 に答える 3

1

これが参照している認証メカニズムである WAMP-CRA に関するいくつかのヒントを提供できます。

WAMP-CRA はネットワーク経由でパスワードを送信しません。チャレンジレスポンス方式で動作します。クライアントとサーバーは共有シークレットを持っています。クライアントを認証するために、サーバーはシークレットを使用して、クライアントが署名する必要があるチャレンジ (ランダムなもの) を送信します。そして、署名だけが返送されます。クライアントはシークレットをブラウザーのローカル ストレージに保存する場合があります。送信されることはありません。

上記のバリエーションでは、サーバーが送信するチャレンジの署名はクライアント内で直接署名されませんが、クライアントは Ajax リクエストから署名を作成できるようにする場合があります。これは、クライアントが他の手段 (従来の Cookie ベースなど) を使用して既に認証されている場合に便利であり、認証を行っていた従来の Web アプリで署名を行うことができます。

于 2014-06-21T13:15:02.890 に答える