【问题标题】:when should i destroy the token [closed]我什么时候应该销毁令牌[关闭]
【发布时间】:2020-01-04 06:29:14
【问题描述】:

我有很多关于令牌的问题

  1. 我应该在用户登录和注册时创建令牌还是(仅登录)?
  2. 我应该将令牌保存在本地存储中吗?
  3. 我应该在用户提出每个请求后发送令牌吗?
  4. 我应该只在注销后销毁令牌吗?
  5. 用户注册后,他/她将在此处拥有令牌 我应该销毁令牌并制作一个新令牌并将其替换到本地存储中吗?
  6. 最后一个问题,如何使用令牌让用户在注册后立即登录?

抱歉,你们累了,但是当我尝试制作身份验证的东西时,我想到了这些问题

【问题讨论】:

    标签: javascript express jwt token


    【解决方案1】:

    1- 仅登录

    2- 否“如果将其存储在 localStorage 中,则页面内的任何脚本都可以访问它(这听起来就像 XSS 攻击可以让外部攻击者访问令牌一样糟糕)。”相反,您可以将其保存在 HttpOnly cookie 中

    3- 是的,您还必须验证它

    4- 这取决于您是否需要将其保存以用于历史记录和修订用户事务,因此如果您不这样做,请保存它并删除它

    5- 如果他有有效的令牌,您必须将用户重定向到您的应用程序,这样如果他有有效的令牌,他就无法打开登录页面,为了再次登录,他必须注销,如果他再次登录我应该删除旧令牌吗?不要因为他可能从其他设备打开了您的应用程序

    6- 将令牌返回到前端保存该令牌,然后将用户重定向到应用页面而不是登录。

    关于主要问题标题,当你删除令牌时?

    1- 注销时

    2-您可以进行日常检查(作业或代码)以找到过期的令牌并将其删除。

    3- 在任何 Web 服务中收到过期令牌后,将其删除并将用户重定向到登录页面

    【讨论】:

    • 谷歌你的第二个答案..
    【解决方案2】:

    重要的话题,我建议你花点时间阅读一下,但对于初学者来说,这里有一些快速的答案:

    1. 主要是登录,也可以通过某种方式设置注册确认链接,不过这取决于工作流程,注册后让用户登录就够了。
    2. 不,不安全,它应该只在内存中。 (例如在商店里)
    3. 是的,您可以在每个调用的标头中设置身份验证令牌。
    4. 注销,也取决于您需要的安全级别,您可以在上面设置一些过期日期,以确保安全。

    【讨论】:

    • 我认为第二点不正确,如果您将其保存在内存中,那么每次用户刷新页面时,令牌都会被删除,他必须再次登录! .
    • to 2.:安全的 HttpOnly cookie 也是一种选择。
    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 2011-03-21
    • 2012-12-23
    • 2021-07-13
    • 2023-03-10
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多