refresh-token
只是一个随机字符串。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],
}
Run Code Online (Sandbox Code Playgroud)
刷新令牌是由身份验证服务器生成的随机字符串。它们是在成功验证后生成的(例如,如果用户的用户名和密码有效)。
它们的唯一目的是消除反复交换用户凭据的需要。
它们不同于访问令牌。access-token
通常包含有关用户的信息(如姓名、声明)。这些通常是短暂的。JWT 就是一个例子。要获得 JWT,应用程序必须验证凭据。为了增加额外的安全性,并停止每 15 分钟为用户名和密码打扰用户,我们只需创建a signature on the server-side
并将其转发到应用程序。下次,每当应用程序需要创建 JWT 时,它只需将签名发送回服务器即可。此签名是您的刷新令牌。刷新令牌也应该保存在某处。因此,您可能会在数据库中创建一个表/集合,将refresh-token
值与userIds
和链接起来ip_address
。
这就是您可以为用户创建会话管理面板的方式。然后,用户可以查看我们为其注册了刷新令牌的所有设备(ip_addresses)。
归档时间: |
|
查看次数: |
2981 次 |
最近记录: |