मैं अभी परीक्षण नहीं कर सकते, लेकिन सूत्रों को देखते हुए, आपको दो बातें नोट कर सकते हैं:
तो मैं आप प्रमाणीकरण मानकों के साथ एक नया मान यूआरएल विन्यास विकल्प सेट करने की जरूरत है
cfg.user = params.user.name;
cfg.pass = params.user.password;
nano.config.url = cfg.url;
अद्यतन:
: यहाँ एक पूरा उदाहरण है
var cfg = {
host: "localhost",
port: "5984",
ssl: false
};
cfg.credentials = function credentials() {
if (cfg.user && cfg.pass) {
return cfg.user + ":" + cfg.pass + "@";
}
else { return ""; }
};
cfg.url = function() {
return "http" + (cfg.ssl ? "s" : "") + "://" + cfg.credentials() + cfg.host +
":" + cfg.port;
};
var nano = require('nano')(cfg.url()),
db = nano.use('DB_WITH_AUTH'),
docId = 'DOCUMENT_ID';
function setUserPass(user, pass) {
cfg.user = user;
cfg.pass = pass;
nano.config.url = cfg.url();
}
db.get(docId, function (e, r, h) {
if (e) {
if (e['status-code'] === 401) {
console.log("Trying again with authentication...");
setUserPass('USENAME', 'PASSWORD');
db.get(docId, function (e, r, h) {
if (e) {
console.log("Sorry, it did not work:");
return console.error(e);
}
console.log("It worked:");
console.log(r);
console.log(h);
});
return;
}
console.log("Hmmm, something went wrong:");
return console.error(e);
}
console.log("No auth required:");
console.log(r);
console.log(h);
});
स्रोत
2011-10-06 09:32:56
दुर्भाग्य से वहाँ भी यूआरएल से उत्पन्न पथ। मैंने कई संभावनाओं की कोशिश की और प्रमाणीकरण को हेडर डाल दिया। – Patrick
@ पैट्रिक मुझे समझ में नहीं आता कि आपका क्या मतलब है, इसलिए मैंने इसका अर्थ समझाने के लिए एक कामकाजी उदाहरण जोड़ा है। मुझे उम्मीद है कि यह स्पष्ट करने में मदद करता है। –
बहुत बहुत धन्यवाद, मैंने शुरुआत में कोशिश की। हालांकि, मुझे http-प्रमाणीकरण के लिए कुछ स्रोत मिला, जो पूरे सीएफजी-कोड को फिर से लिखने से आसान है। मैंने नोड भंडार में खींचने का अनुरोध किया, इसलिए मुझे उम्मीद है कि अपडेट जल्द ही होगा। – Patrick