在某些情况下,特定的授权用户会更改其密码或电子邮件。由于电子邮件或密码是用户身份验证的一部分,因此我认为有必要撤销所有身份验证令牌。
在用户更改密码或电子邮件的情况下,刷新身份验证令牌的最佳做法是什么?
我不使用OAuth,但标头中具有通常的 Bearer令牌。 这个想法是在客户端存储一个额外的刷新令牌,每次邮件或密码更改时,我们都会撤消他的访问令牌。此用户可以使用刷新令牌发出请求以获取新的访问令牌之后
答案 0 :(得分:0)
根据您的后端(Ruby on Rails,NodeJS等),将有不同的方法。 This is an excellent blog post(警告:该帖子中使用的多种语言)可以克服某些身份验证陷阱,尤其是重置密码。
说实话,您确定要完全有刷新令牌吗?
为什么不简单地使用更新的凭证向当前活动的会话(发出电子邮件/密码更改请求的凭证)发行新的Bearer令牌?
情况1:用户的身份验证会话
用户具有有效的会话,并通过其中一个会话更新其密码或电子邮件
案例2:忘记密码
用户已注销并要求更改密码(不是您特别要求的密码,也是为什么即使使用特殊会话也不需要刷新令牌的原因):
希望这能回答您的问题!