我啥时候应该销毁令牌[关闭]
Posted
技术标签:
【中文标题】我啥时候应该销毁令牌[关闭]【英文标题】:when should i destroy the token [closed]我什么时候应该销毁令牌[关闭] 【发布时间】:2020-01-04 06:29:14 【问题描述】:我有很多关于令牌的问题
-
我应该在用户登录和注册时创建令牌还是(仅登录)?
我应该将令牌保存在本地存储中吗?
我应该在用户提出每个请求后发送令牌吗?
我应该只在注销后销毁令牌吗?
用户注册后,他/她将在此处拥有令牌
我应该销毁令牌并制作一个新令牌并将其替换到本地存储中吗?
最后一个问题,如何使用令牌让用户在注册后立即登录?
抱歉,你们累了,但是当我尝试制作身份验证的东西时,我想到了这些问题
【问题讨论】:
【参考方案1】:1- 仅登录
2- 否“如果将其存储在 localStorage 中,则页面内的任何脚本都可以访问它(这听起来就像 XSS 攻击可以让外部攻击者访问令牌一样糟糕)。”相反,您可以将其保存在 HttpOnly cookie 中
3- 是的,您还必须验证它
4- 这取决于您是否需要将其保存以用于历史记录和修订用户事务,因此如果您不这样做,请保存它并删除它
5- 如果他有有效的令牌,您必须将用户重定向到您的应用程序,这样如果他有有效的令牌,他就无法打开登录页面,为了再次登录,他必须注销,如果他再次登录我应该删除旧令牌吗?不要因为他可能从其他设备打开了您的应用程序
6- 将令牌返回到前端保存该令牌,然后将用户重定向到应用页面而不是登录。
关于主要问题标题,当你删除令牌时?
1- 注销时
2-您可以进行日常检查(作业或代码)以找到过期的令牌并将其删除。
3- 在任何 Web 服务中收到过期令牌后,将其删除并将用户重定向到登录页面
【讨论】:
谷歌你的第二个答案..【参考方案2】:重要的话题,我建议你花点时间阅读一下,但对于初学者来说,这里有一些快速的答案:
-
主要是登录,也可以通过某种方式设置注册确认链接,不过这取决于工作流程,注册后让用户登录就够了。
不,不安全,它应该只在内存中。 (例如在商店里)
是的,您可以在每个调用的标头中设置身份验证令牌。
注销,也取决于您需要的安全级别,您可以在上面设置一些过期日期,以确保安全。
【讨论】:
我认为第二点不正确,如果您将其保存在内存中,那么每次用户刷新页面时,令牌都会被删除,他必须再次登录! . to 2.:安全的 HttpOnly cookie 也是一种选择。以上是关于我啥时候应该销毁令牌[关闭]的主要内容,如果未能解决你的问题,请参考以下文章