2

次のコードを呼び出しています。

$.couch.login($.extend({ name: "harry", password: "secrets"}, callback));
$.couch.session(callback);

ここで、「harry」は私が使用して作成した単なるダミー ユーザーで$.couch.signupありcallback、次のようなボディを持つ成功/エラー/完全な関数を指定する単純なオブジェクトです。

success: function (data) {
    console.log('Success');
    console.log(data);
}

このコードは次を返します。

Success
Object {ok: true, name: "harry", roles: Array[0]}

Success
Object {ok: true, userCtx: Object, info: Object}

最初の戻り値は問題ありませんが、2 番目の からのものsessionで、userCtxオブジェクトは基本的に空で、null名前が付いています。

また、個人のユーザー名とパスワード (Futon 管理者として使用するもの) を使用してログインしようとすると、次のように返されます。

Success
Object {ok: true, name: null, roles: Array[1]}
(0: "_admin")

Success
Object {ok: true, userCtx: Object, info: Object}

そして興味深いことに、最初のリクエストは私が管理者であることを知っているように見えますが、他のデータは取得せず、2 番目のリクエストは前の例と同じことを行います。

何かご意見は?私は$.couch.session正しく使用していませんか?私のソファインスタンスに何か問題がありますか?

参考までに、バージョン 1.4.0 を使用しており、ソースからビルドされています。

4

1 に答える 1

1

私が本当に必要としていたのは、apache のリバース プロキシだけだったことがわかりました。AuthSessionカウチ インスタンスは、ポートから来ていたため、Cookie にアクセスできませんでした5984。これで、次のものが追加されてうまく機能しますapache2.conf(一部の場合がありますhttpd.conf

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so

ProxyPass /_couch http://localhost:5984 nocanon
ProxyPassReverse /_couch http://localhost:5984
于 2013-10-17T16:28:34.837 に答える