gpt4 book ai didi

security - 在基于 token 的身份验证中使用刷新 token 安全吗?

转载 作者:行者123 更新时间:2023-12-02 19:00:45 26 4
gpt4 key购买 nike

我正在构建基于 token 的身份验证(Node.js 使用护照/JWT 和角度客户端)。

用户输入凭据后,他会获得一个访问 token ,该 token 会在 header 内的每个请求中发送( header :承载 token )。

我不想每次访问 token 过期时都提示登录请求(我猜大约是每天),我听说过 Refresh Tokens 。刷新 token 永远不会过期(或很少过期),并且能够无限期地更新 token 。当访问 token 即将过期时,客户端可以通过发送自己的刷新 token 来发送更新请求以获取新的访问 token 。

我不明白一些事情,我可能会遗漏一些东西:

  1. 长生命周期/永不过期的刷新 token 如何不会破坏短生命周期的安全性访问 token 。

  2. Cookie 可以被窃取并使用直至过期。代币生命周期较短,因此更安全,但如果我提供长期刷新 token ,我就会失去使用 token 的优势。

注意:我知道刷新 token 是在初始登录时发送的,因此不能在每个请求中被欺骗,但如果它们在初始请求时被欺骗,则它们很容易受到攻击。

最佳答案

刷新 token 与访问 token 的路径不同:访问 token 仅提供给资源服务器,刷新 token 仅提供给授权服务器。访问 token 可以是独立的,因此不需要昂贵的调用授权服务器来检查其有效性,但为了减少损失并提高准确性(如果出现问题,它不能被撤销),它是短暂的。刷新 token 的生命周期很长,并且在每次调用授权服务器时都会得到验证,因此可以撤销。两者的结合使系统更加安全。

关于security - 在基于 token 的身份验证中使用刷新 token 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27359104/

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