如何在一个请求中将经过身份验证的用户(使用JSON Web令牌和本地存储)从登录页面重定向到站点的安全部分?

时间:2017-04-10 08:41:21

标签: local-storage jwt

目前正在实施用于用户注册,登录等的JSON Web令牌认证系统。该站点有两个部分:

example.com/home - 任何人都可以访问此

的非安全性

example.com/dashboard - secure,仅限授权用户

当经过身份验证的用户登陆example.com/home(不安全的部分)时,我想自动将它们重定向到安全部分(如果经过身份验证的话)。

但似乎首页必须加载然后Javascript需要向服务器发出AJAX请求以验证从LocalStorage通过Javascript传递的任何JWT。

显然,这似乎是一个浪费的额外步骤,因为cookie将在初始请求中发送,但LocalStorage数据不会。但如果可能的话,我想避免使用cookies。

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

经过进一步研究后,似乎没有解决方法。 LocalStorage只能通过Javascript读取,而不是由浏览器自动发送(如cookie可以)。

因此客户端会发出请求,接收请求,重定向到身份验证页面(使用JS包含任何LocalStorage令牌)或发出AJAX请求(使用JS包含任何LocalStorage令牌)。

此外,使用LocalStorage而不是cookie来存储令牌会带来其他问题,例如当经过身份验证的用户尝试在另一个选项卡或窗口中打开相同的安全URL时会发生什么。

这样一个充满不同意见的耗时主题。我需要一杯咖啡......