我正在使用最新版本的Node.js,Express,Nano和CouchDB,我正在尝试获取当前经过身份验证的用户的用户名和角色。我正在使用cookie身份验证,这工作正常。但是,对_session的GET请求返回一个空白名称,而不是用户的角色。
以下是我正在使用的代码:
app.get('/_session', function(req, res) {
var auth = req.cookies['AuthSession'],
appNano;
console.log(auth + " from session");
if (!auth) {
res.send(401);
} else {
appNano = nano({
url : 'http://localhost:5984',
cookie: 'Authsession=' + auth
});
appNano.request({
method: "GET",
db: "_session"
}, function(err, body, headers) {
if (err) {
res.send(401);
return;
}
if (headers && headers['set-cookie']) {
res.cookie(headers['set-cookie']);
}
console.log(body);
res.send(body);
});
}
});
auth是在发送到沙发时定义的,它与我的浏览器上存储的cookie相匹配(通过console.log确认)。我需要做些什么来取回经过身份验证的用户的用户名/角色?
答案 0 :(得分:0)
想出来。 'cookie'标题应设置为'AuthSession ='+ auth,而不是'Authsession ='+ auth。资本化失败:p。