我正在开发一个应用程序,NodeJ(以及Express)将在服务器端提供RESTful服务,而Angular 6将使用RESTful API。
现在的问题是,当用户更改密码时,如何从所有设备注销该用户。
我正在使用JWT进行身份验证。
答案 0 :(得分:0)
除非用户自愿选择从所有设备注销,否则在更改密码时注销用户是一个坏习惯:-
用户注销后,然后清除本地存储并重定向为登录方式:-
当用户更新密码并检查令牌对于每个请求仍然有效时,只需更改授权令牌。如果无效,则显示401错误,然后重定向到登录页面。
user1
user2
http://jasonwatmore.com/post/2018/05/23/angular-6-jwt-authentication-example-tutorial
答案 1 :(得分:0)
经过长时间的搜索,我找到了一个解决方案,
用户表中应该有一个 updated_at 字段,该字段存储了用户上次更新其详细信息的时间, 您必须将此字段用作JWT的加密字符串,因此,当用户更新信息时,先前发出的令牌被视为无效,因此用户将无法执行任何操作,并且他/她必须已更新令牌