【问题标题】:Blacklist JWT Token黑名单 JWT 令牌
【发布时间】:2019-02-23 17:19:22
【问题描述】:

根据 Matt Way 在这篇文章中的回答:Invalidating JSON Web Tokens

关于使用令牌黑名单的#2 解决方案,但我有一个问题是服务器如何准确地知道旧令牌并将其添加到黑名单中。例如:当我登录时,我从服务器收到“ABCD”令牌,服务器不会将此令牌保存在任何地方。然后我更改密码(或注销),服务器应该向我发送一个像“EFGH”这样的新令牌并使旧的“ABCD”无效(通过将“ABCD”添加到黑名单直到它过期)但问题是服务器如何知道“ABCD” " 旧令牌添加到黑名单?

【问题讨论】:

    标签: node.js authentication jwt access-token


    【解决方案1】:

    要执行与帐户相关的操作,连接时生成的 JWT 令牌必须存在于请求的标头中(通常在 Authorization 标头中)。

    客户端将存储令牌并在必要时将其发送给服务器以验证自己。

    服务器只需要检索标头中存在的令牌以使其无效并在必要时将其列入黑名单。

    【讨论】:

    • 所以这意味着当您想重置令牌以获取新令牌时,您需要在标头中传递旧令牌,以便服务器可以检索它并添加到黑名单
    • 如果同时存在访问令牌和刷新令牌,则不是这样。用户可以使用访问令牌发送请求,我们不知道要使哪个刷新令牌无效。
    猜你喜欢
    • 2021-04-16
    • 2019-12-31
    • 2020-01-22
    • 2021-01-06
    • 2021-06-12
    • 2022-01-17
    • 2020-01-20
    • 2017-11-23
    • 1970-01-01
    相关资源
    最近更新 更多