私のアプリは AngularJS です。私のサービスには、いくつかのログイン機能があります...
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);
});
});
};
これがコンソールに表示されるものです...
投稿後に返された役割は正しいことに注意してください。これらは「マーク」の役割ですが、返された json の空白の名前に注意してください。次の _session への get 呼び出しは Ok を返しますが、名前は空白です。その後のデータベースへのすべての取得で 401 "Unauthorized" エラーが返されるため、認証は失敗します。試行中/部分的に認証しているように見えるのに、実際にはそうではないのはなぜですか?!?!
Couch 構成では…</p>
httpd セクション:
- bind_address = 0.0.0.0
- enable_cors = true
コアセクション:
- 資格情報 = false
- 起源 = *
sofa_httpd_auth セクション:
- allow_persistent_cookies = true
- authentication_db = _users
- require_valid_user = false;
このデータベースのセキュリティ ダイアログは次のようになります...
401 エラーを回避できる唯一の方法は、このダイアログの [メンバー名/ロール] ボックスをクリアすることです。これはまったく解決策ではありません。
私が間違っていることがわかりますか?
どうもありがとうございました。私はこれを何日も試みて失敗してきました:-/