JWT令牌错误

时间:2017-10-05 09:18:05

标签: node.js angular express jwt

我在这个应用程序中使用Node.JS express后端和Angular 4前端。我使用JWT令牌来存储我用来查找用户的id。请注意,这些JWT代币不会过期。

情景:

  1. 用户登录。
  2. 生成并签名JWT令牌(包含用户ID)
  3. JWT令牌保存在localStorage
  4. 从那时起使用JWT令牌来查找已登录的当前用户
  5. 这很完美。现在,发生了一些非常奇怪的事情。在生产中,偶尔,JWT令牌似乎会改变值,然后在我的应用程序上抛出错误,因为无法再找到用户。我已经浏览了所有代码,应用程序本身的任何内容都不应该改变值。

    我似乎已将此问题隔离,因为这种情况主要发生在谷歌浏览器中,但是,(我认为)我可能已经看到它有时会出现在Safari中。我不知道为什么会发生这种情况。当我转到Angular中的受保护页面时,它会在继续之前检查是否存在JWT令牌。如果没有,那么它将登录。该令牌的价值无处变更。

    有谁知道我可能做错了什么/为什么会这样?

1 个答案:

答案 0 :(得分:0)

您是否使用middleware函数来实现JWT逻辑?

如果没有,我建议使用中间件函数,该函数在路由逻辑/处理函数之前编写。我想,这有助于调试问题,也是一种很好的做法。