【问题标题】:Authentication bearer token issue?身份验证承载令牌问题?
【发布时间】:2016-07-29 06:02:48
【问题描述】:

我正在使用不记名令牌基础身份验证。因此,当用户登录系统时,标志设置为 TRUE 并保存在数据库中。当他注销时,标志设置为假。

但是,因为我使用的是基于令牌的身份验证,所以当用户从浏览器中删除 cookie 时问题就来了。所以现在如果他清除 cookie,那么那时我的标志不会设置为 false。

在这里,我使用的是 Angular.js、Node.js 和 MongoDB

【问题讨论】:

  • 所以您使用该标志主要检查用户是否已登录?
  • cookie会包含什么,请把问题解释清楚,比如用户清除时出现什么问题(没有将db属性设置为false)
  • @Ramesh 它包含所有身份验证数据,例如用户相关信息和标志,我在登录和注销时设置了 true 和 false。
  • 我认为无论用户是否登录,您都不应该将其保存在数据库中。你应该只使用cookies

标签: angularjs node.js authentication oauth-2.0 bearer-token


【解决方案1】:

所以当浏览器中的cookie被清除后,当请求进来时,你无法识别用户对应的数据库记录。

因此,您需要运行 cron 或其他东西,以定期从数据库中清除不需要的(过期)实体,即

除了标志之外,您还需要具有 dateAdded 属性或(lastModified 哪个适合您),然后您需要运行 cron 并删除所有创建很久以前或基于访问令牌过期时间的实体。

确保您存储在 cookie 中的标识符是随机的,因此数据库实体会闲置一段时间,直到它被清除,但不能被任何人使用。

【讨论】:

    猜你喜欢
    • 2022-01-23
    • 2017-02-24
    • 1970-01-01
    • 2021-10-27
    • 2021-10-15
    • 2017-01-19
    • 1970-01-01
    • 2014-04-09
    • 2019-08-04
    相关资源
    最近更新 更多