1

単一ページ アプリケーション (pouchdb) の JavaScript を使用してログイン/ログアウト ページをセットアップしようとしています。

ドキュメントで説明されているように、curl を介して authsession cookie を取得して送信すると問題なく動作しますが、javascript で再現しようとすると、 var contType = AjaxRequest.getAllResponseHeaders(); になります。アラート (contType);

取得できるパラメータは次のとおりです。

サーバー: CouchDB/1.5.0 (Erlang OTP/R16B01) コンテンツ タイプ: テキスト/プレーン。charset=utf-8 Cache-Control: must-revalidate

このセッション Cookie を取得して、javascript で使用することに成功した人はいますか? ありがとう、jl

4

2 に答える 2

2

AuthSession は HTTPOnly としてマークされます。つまり、HTTP(S) 経由でのみ公開され、JavaScript では使用できません (改ざんを防ぐため)。

/_session を呼び出すと、ユーザーが正しく認証された場合は 200 応答が返され、資格情報が正しくない場合は 401 が返されます。成功した場合 (200 応答)、AuthSession Cookie はブラウザーによって自動的に保存され、ブラウザー/タブが閉じられるか、/_session に対して DELETE 要求が行われるまで、CouchDB URL への今後の要求に渡されます。

Cookie に直接アクセスする必要なく、これらのセマンティクスを考慮してログイン ページを実装できるはずです。

于 2013-12-31T04:07:10.550 に答える
0

それは良い質問です。答えられるかどうかわかりませんが、別の方法があります。ajax リクエストが行われると、ブラウザー自体に Cookie が設定されている必要があります。

https://github.com/carhartl/jquery-cookie

この jQuery プラグインを使用して、CouchDB ログインからの AuthSession Cookie を処理するという良い経験がありました。$.cookie("AuthSession")通常、トリックを行います。

于 2013-12-27T23:43:50.490 に答える