0

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

4

1 回答 1

0

弄清楚了。'cookie' 标头应设置为 'AuthSession=' + auth,而不是 'Authsession=' + auth。大写失败:p。

于 2013-12-08T03:53:57.617 回答