node.js - jwt 访问 token 和刷新 token 流

标签 node.js express authentication jwt

这是我的身份验证流程:

  • 用户登录后收到两个 token (有过期时间的访问 token 和无过期时间的刷新 token )
  • 对于每个用户,刷新 token 存储在数据库中名为 refreshTokens(这是一个数组)的 json 列中。
  • 在客户端,访问 token 和刷新 token 都存储在本地存储中。
  • 当需要验证用户时,如果访问 token 已过期,则使用刷新 token 创建新的访问 token 并将其发送回用户并使用户保持登录状态。
  • 当用户注销时,存储在数据库中的刷新 token (在 refreshTokens 列表中)将被删除。

  • 我的问题是:
  • 这个流量安全吗?
  • 我需要在 cookie 上保存刷新 token 还是本地存储足够好?
  • 最佳答案

    该流程取决于 OAuth 的工作方式以及如何以安全方式存储 token ,因此对这两个问题都回答"is"。缺少的部分是首先如何获取 token :因为使用 PCKE 的授权代码授权类型是首选方式,而不是传统的隐式授权类型。

    关于node.js - jwt 访问 token 和刷新 token 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67856006/

    相关文章:

    django - 设置django-allauth 404错误?

    javascript - 根据 MongoDB 文档中的另一个字段更新一个字段(在 Node.js 中使用 Mongoose)

    node.js - express.js 不提供我的图像

    javascript - 在另一个 jade 文件中访问从 Jade 文件传递​​的变量

    node.js - Express 上的 Rest API。参数传递

    Node.js 的身份验证解决方案

    node.js - o使用 Nodejs、jaydata 和 MongoDB 的数据服务器

    node.js - Mongoose find({}) 不返回任何内容

    javascript - 如何在网页初始加载时限制不同选项卡的数据

    使用 SharpSVN 的 SVN 存储库身份验证