gpt4 book ai didi

node.js - 如何生成刷新 token ?

转载 作者:行者123 更新时间:2023-12-03 12:17:35 29 4
gpt4 key购买 nike

我正在我的一个 Node 应用程序中实现 JWT。我想知道,是否有任何明确的格式/结构可以生成刷新 token ?

通过明确的格式,我的意思是刷新 token 是否包含任何像 JWT 这样的声明?

更新

让我们假设刷新 token 为:fdb8fdbecf1d03ce5e6125c067733c0d51de209c (取自 Auth0 )。现在,我应该从中了解什么 ?

  • 这是一个随机的唯一字符串吗?
  • 这是一个内部有声明的加密字符串吗?
  • 最佳答案

    简答

  • 一个 refresh-token只是一个随机字符串。
  • 包括 claim 在内的所有用户相关信息都在 access-tokens

  • 解释
    你应该保持这样的东西:
    {
    _id: [refreshTokenId],
    value: 'fdb8fdbecf1d03ce5e6125c067733c0d51de209c',
    userId: [userId],
    expires: [some date],
    createdByIp: [some ip],
    createdAt: [some date],
    replacedBy: [anotherRefreshTokenId],
    revokedByIp: [some other ip],
    revokedAy: [some other date],
    }
    刷新 token 是由身份验证服务器生成的随机字符串。它们是在成功验证后生成的(例如,如果用户的用户名和密码有效)。
    它们的唯一目的是消除反复交换用户凭据的需要。
    它们不同于访问 token 。 access-token通常包含有关用户的信息(如姓名、声明)。这些通常是短暂的。 JWT 就是一个例子。
    要获得 JWT,应用程序必须验证凭据。
    为了增加额外的安全性,并停止每 15 分钟为用户名和密码打扰用户,我们只是创建 a signature on the server-side并将其转发到应用程序。下次,每当应用程序需要创建 JWT 时,它只需将签名发送回服务器即可。此签名是您的刷新 token 。
    刷新 token 也应该保存在某个地方。
    所以你可能会在你的数据库中创建一个表/集合,链接 refresh-token值与 userIdsip_address .
    这就是为用户创建 session 管理面板的方式。然后,用户可以查看我们为其注册了刷新 token 的所有设备(ip_addresses)。

    关于node.js - 如何生成刷新 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56133083/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com