我正在尝试通过后端服务器上的JWT实施用户身份验证的最佳实践,尽管我已经进行了工作,但我只是想澄清一些问题,因为在线上有很多混合评论。
我的用户登录后,将JWT发送回我的Angular App,然后将此令牌发送回我的服务器以获取用户的个人资料详细信息。成功完成后,此JWT将存储在localStorage
中,并创建一个会话,并将用户重定向到仪表板,使他们可以在站点上自由移动。
但是,刷新页面时,我从localStorage
获取了JWT,并将其传递回服务器以再次获取用户的个人资料详细信息(因为我没有在存储中存储任何用户数据)。尽管这可行,但在应用程序等待返回用户数据并重新创建会话时,会有相当大的延迟。这导致我的应用程序临时显示登录屏幕(因为没有经过身份验证的用户),并且导致非常丑陋的用户体验。
我的问题是在这种情况下的最佳实践是什么?我会以正确/错误的方式处理事情吗?我应该在存储中存储任何用户数据吗?
我知道可能存在类似的问题,但是,在处理登录状态时,我找不到与使用JWT重新登录用户直接相关的任何东西。