Authentication CouchDB\u会话身份验证失败
我的应用程序是AngularJS。在我的服务中,我有几个登录功能Authentication CouchDB\u会话身份验证失败,authentication,couchdb,Authentication,Couchdb,我的应用程序是AngularJS。在我的服务中,我有几个登录功能 login: function(tag,pass) { return $http.post(this.databaseUrl + "_session/", {"name":tag,"password":pass}); }, loginGet: function() { return $http.get(this.databaseUrl + "_session");
login: function(tag,pass) {
return $http.post(this.databaseUrl + "_session/", {"name":tag,"password":pass});
},
loginGet: function() {
return $http.get(this.databaseUrl + "_session");
},
在我的控制器里我有
$scope.init = function() {
dataFactory.login("mark","myPassword")
.then(function (response) {
console.log('dataFactory.login.post response...');
console.log(response);
dataFactory.loginGet()
.then(function (response) {
console.log("dataFactory.loginGet response...");
console.log(response);
});
});
};
这是我在控制台中看到的
请注意,post之后返回的角色是正确的。它们是“标记”的角色,但请注意返回的JSON中的空白名称。下面对_会话的get调用返回Ok,但名称仍然为空。所有后续对数据库的访问都返回401个“未经授权”错误,因此身份验证失败。为什么它似乎在尝试/部分验证,但实际上不是
在沙发配置中,我有
httpd部分:
- 绑定地址=0.0.0.0
- 启用\u cors=true
- 凭据=false
- 起源=*
- 允许\u持久\u cookies=真
- 身份验证\数据库=\用户
- require\u valid\u user=false李>
非常感谢你的帮助。这几天我一直在尝试,但都失败了:-/再次回答我自己的问题。因此,对于未来的CouchDB身份验证搜索者,以下身份验证方法正在我的AngularJS应用程序中运行
authenticate: function(user,pass) {
return $http({
method: "POST",
url: this.databaseUrl + "_session",
headers: {"Content-Type": "application/x-www-form-urlencoded"},
data: "name=" + user + "&password=" + pass
});
},
那么,是所有的CouchDB专家都在度假,还是我说了错话和/或愚蠢的话-/