我使用快递把手和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 });
}
);
错误是语法错误:无效或意外令牌。
答案 0 :(得分:1)
此操作中断的原因是,您试图将把手模板中的变量token
设置为等于文字标记。等同于做类似的事情:
var token = gmndshhrjvjhsw4bnds221a
这不起作用。您需要通过将其用双引号或单引号引起来将其转换为字符串。
这是您要执行的操作的正确代码:
{{#if auth.token}}
<script type="text/javascript" async>
const token = '{{auth.token}}';
localStorage.setItem("token", token)
</script>
{{/if}}