Userctx不会返回带有cookie身份验证的用户名或角色

时间:2013-12-07 17:47:37

标签: node.js express couchdb couchdb-nano

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

1 个答案:

答案 0 :(得分:0)

想出来。 'cookie'标题应设置为'AuthSession ='+ auth,而不是'Authsession ='+ auth。资本化失败:p。