Vasilii Maslov Asked:2020-03-06 21:28:30 +0000 UTC2020-03-06 21:28:30 +0000 UTC 2020-03-06 21:28:30 +0000 UTC jwt授权角度7 772 告诉我,在授权期间如何最好地处理用户数据?将有关他的一些数据写入 localStorage 并从那里获取或将有关用户的数据存储在服务中? 还有一个附带问题。如何在客户端查看token的过期时间?我有寻找 401 响应的想法,但我认为这是错误的。 angular2 1 个回答 Voted Best Answer Kostiantyn Okhotnyk 2020-03-06T23:27:04Z2020-03-06T23:27:04Z 使用 cookie 使用 jwt 最简单的选择是使用 cookie。cookie 的优点是您可以在它们过期时设置它们。及时解决各自的验证问题。在服务器上创建一个令牌,将其写入一个带有服务器过期日期的 cookie。在这种情况下,客户端根本不需要做任何事情。 使用会话存储 授权后,将令牌写入SessionStorage,而在标签还活着时,令牌也将活。而且,当然,另一个选项卡中不会有令牌,因此,客户端将不会被授权。 本地存储 localStorage 将永久存储令牌。但这应该不是问题。因为对于每个Ajax 请求,都必须检查令牌。并且,相应地,在 401 它将被删除,并且在授权后将再次被覆盖。
使用 cookie
使用 jwt 最简单的选择是使用 cookie。cookie 的优点是您可以在它们过期时设置它们。及时解决各自的验证问题。在服务器上创建一个令牌,将其写入一个带有服务器过期日期的 cookie。在这种情况下,客户端根本不需要做任何事情。
使用会话存储
授权后,将令牌写入SessionStorage,而在标签还活着时,令牌也将活。而且,当然,另一个选项卡中不会有令牌,因此,客户端将不会被授权。
本地存储
localStorage 将永久存储令牌。但这应该不是问题。因为对于每个Ajax 请求,都必须检查令牌。并且,相应地,在 401 它将被删除,并且在授权后将再次被覆盖。