$.couch.session 返回具有空名称的 userctx

$.couch.session returns userctx with null name

本文关键字:userctx couch session 返回      更新时间:2023-09-26

我正在调用以下代码:

$.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}

第一个返回没问题,但是第二个,来自session的那个,userCtx对象基本上是空的,有一个null名称。

此外,当我尝试使用我的个人用户名和密码(我用作蒲团管理员的用户名和密码)登录时,将返回以下内容:

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

令人着迷的是,第一个请求知道似乎知道我是管理员,但没有获得任何其他数据,第二个请求执行与上一个示例相同的操作。

有什么想法吗?我没有正确使用$.couch.session吗?我的沙发实例有问题吗?

仅供参考,我使用的是 1.4.0 版并从源代码构建。

事实证明,我真正需要的只是一个 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