我正在使用最新版本的 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 确认)。我需要做什么才能取回经过身份验证的用户的用户名/角色?