【问题标题】:Handlebars and JWT token to local storageHandlebars 和 JWT 令牌到本地存储
【发布时间】:2018-11-15 12:49:02
【问题描述】:

我正在使用 express-handlebars 和 jwt 令牌作为登录路径。我试图在我的 api 上点击登录路由时将令牌存储在本地存储中。问题是当我在前端设置令牌时,它会由于其格式而产生错误。我的代码在下面,如果有人有一个很好的修复或想法。谢谢! 前端:(在车把模板中)

{{#if auth.token}}
<script type="text/javascript" async>
const token = {{auth.token}};
localStorage.setItem("token", token)
</script>
{{/if}}

后端,保存令牌并使用渲染发送:

jwt.sign(
              payload,
              keys.JWT_KEY,
              { expiresIn: 3600 },
              (err, token) => {
                auth.token = token;
                auth.status = true;
                res.render("home", { auth: auth });
              }
            );

错误是语法错误:无效或意外令牌。

【问题讨论】:

    标签: express handlebars.js local-storage jwt express-handlebars


    【解决方案1】:

    这是破坏的原因是因为您试图将车把模板中的变量token 设置为等于文字标记。这相当于做类似的事情:

    var token = gmndshhrjvjhsw4bnds221a
    

    这不起作用。你需要把它变成一个字符串,用双引号或单引号括起来。

    这是您尝试执行的正确代码:

    {{#if auth.token}}
      <script type="text/javascript" async>
        const token = '{{auth.token}}';
        localStorage.setItem("token", token)
      </script>
    {{/if}}
    

    【讨论】:

      猜你喜欢
      • 2018-11-14
      • 2018-11-12
      • 1970-01-01
      • 2020-10-25
      • 2019-02-01
      • 2022-01-15
      • 2018-04-01
      • 2021-04-06
      • 2018-12-07
      相关资源
      最近更新 更多