【问题标题】:How To Set Cookies for JWT in Node.js如何在 Node.js 中为 JWT 设置 Cookie
【发布时间】:2016-05-19 01:32:34
【问题描述】:

我试图在我的Node.jsExpress Web 应用程序的身份验证期间为JSON Web Token 简单地设置cookie

既然我在使用res.cookie() 后无法做到res.redirect,我该如何实现呢?

router.post('/', function(req, res, next) {
    passport.authenticate('local', function(err, user, info) {
        if (!user) { return res.redirect('/auth'); }
        var theToken = jwt.encode({ id : user.id }, req.app.get('appSecret'));

        res.cookie(theToken);

        return res.redirect('/profile/' + username);

    })(req, res, next);
});

我是否正确地解决了这个问题?我找不到很多关于人们在创建 JSON Web Tokens 后如何设置它们的信息。

【问题讨论】:

  • 为什么要使用 cookie 和令牌?这将破坏 JWT 的主要优势(无会话)
  • 主要好处是保持 RESTful 设计并将服务器与客户端解耦。

标签: javascript node.js authentication express json-web-token


【解决方案1】:

似乎res.redirect 可以设置 cookie,尽管其他一些 SO 回答状态如何。希望这对其他人有帮助。

【讨论】:

    猜你喜欢
    • 2021-02-17
    • 2012-08-27
    • 2016-07-27
    • 2018-03-03
    • 2017-01-02
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    相关资源
    最近更新 更多