如何在浏览器中发送和获取jsonweb令牌

时间:2017-11-18 12:36:34

标签: node.js express authentication jwt

如何在浏览器中发送和获取jsonweb令牌?我需要在用户登录后发送每个禁止页面令牌。

我有代码,一切都在邮递员工作正常但是当我在浏览器中尝试req.headers["authorization"]总是未定义。我也试图res.set({'token': 'some token'});然后在下一页请求但仍未定义。邮递员有很多教程,但我可以弄清楚如何在浏览器中执行此操作。 这是我的代码:

app.post("/api/login", function(req, res) {
var user = { id: 3 };
var token = jwt.sign({ user }, 'secret');
res.json({token: token});

});

app.get('/api/protected', ensureToken, function(req, res) {
jwt.verify(req.token, 'secret_key_goes_here', function(err, data) {
    if (err) {
        res.sendStatus(403);
    } else {
        res.json({
            description: 'Protected information. Congrats!'
        });
    }
});

});

function ensureToken(req, res, next) {
const token = req.headers["authorization"];
console.log(token);
if (typeof bearerHeader !== 'undefined') {
    console.log('ok');
    const berarer = bearerHeader.split(" ");
    const bearerToken = berarer[1];
    req.token = bearerToken;
    next();
} else {
    console.log('no');
    res.sendStatus(403);
}

}

请提出任何建议。

由于

0 个答案:

没有答案