【发布时间】:2013-10-23 18:40:53
【问题描述】:
我正在调用以下代码:
$.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 名称。
另外,当我尝试使用我的个人用户名和密码(我作为 Futon 管理员使用的用户名和密码)登录时,会返回:
Success
Object {ok: true, name: null, roles: Array[1]}
(0: "_admin")
Success
Object {ok: true, userCtx: Object, info: Object}
令人着迷的是,第一个请求似乎知道我是管理员,但没有获取任何其他数据,第二个请求与前面的示例执行相同的操作。
有什么想法吗?我没有正确使用$.couch.session 吗?我的沙发实例有问题吗?
仅供参考,我使用的是 1.4.0 版并从源代码构建。
【问题讨论】:
-
我还发现从
success调用的success方法运行$.couch.login并没有在应该 时找到用户记录,但它当适当的username:password@添加到localhost时,从 curl 中正确执行。我真的认为这个$.couch.session在某种程度上搞砸了我。 -
我必须做一些手动通过身份验证cookie的事情吗?在我看来,
$.couch库会处理这些问题。
标签: javascript jquery session couchdb restful-authentication