Javascript $.coach.session返回名称为空的userctx
我正在调用以下代码:Javascript $.coach.session返回名称为空的userctx,javascript,jquery,session,couchdb,restful-authentication,Javascript,Jquery,Session,Couchdb,Restful Authentication,我正在调用以下代码: $.couch.login($.extend({ name: "harry", password: "secrets"}, callback)); $.couch.session(callback); 其中“harry”只是我使用$创建的一个虚拟用户。coach.signup和callback是一个简单的对象,用于指定成功/错误/完整函数,其主体如下: success: function (data) { console.log('Success'); c
$.couch.login($.extend({ name: "harry", password: "secrets"}, callback));
$.couch.session(callback);
其中“harry”只是我使用$创建的一个虚拟用户。coach.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}
第一个返回很好,但是第二个返回是来自会话的的userCtx
对象基本上是空的,名称为null
此外,当我尝试使用我的个人用户名和密码(我用作Futon管理员的用户名和密码)登录时,会返回:
Success
Object {ok: true, name: null, roles: Array[1]}
(0: "_admin")
Success
Object {ok: true, userCtx: Object, info: Object}
令人着迷的是,第一个请求knows似乎知道我是管理员,但没有获得任何其他数据,第二个请求执行与前一个示例相同的操作
有什么想法吗?我是否正确使用了$.coach.session
?我的沙发有什么问题吗
仅供参考,我使用的是1.4.0版,并且是从源代码构建的。事实证明,我真正需要的只是一个。coach实例无法访问AuthSession
cookie,因为它来自端口5984
。现在,将以下内容添加到我的apache2.conf
(可能是httpd.conf
)
我还发现运行$.coach.db(“'u users').openDoc('org.couchdb.user:'+data.name,callback))来自$.coach.login的success
方法的code>在应该的时候找不到用户记录,但是当适当的username:password@
添加到localhost
时,它会从curl正确地找到用户记录。我真的认为这个$.coach.session
不知何故在折磨我。我必须做一些手动通过身份验证cookie的事情吗?在我看来,这将由$.coach
库处理。顺便说一句,效果也不错。所有东西都在同一个域上,也消除了我的许多麻烦。
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