Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 为什么可以';JWT刷新令牌是否被撤销?_Security_Session_Jwt - Fatal编程技术网

Security 为什么可以';JWT刷新令牌是否被撤销?

Security 为什么可以';JWT刷新令牌是否被撤销?,security,session,jwt,Security,Session,Jwt,我目前正试图将注意力集中在JSON Web标记上,以确保我没有射中自己(和我的用户)的脚。因此,我看到了这篇文章,更具体地说 其中一个反对意见是,可以通过设置较短的过期时间并使用刷新令牌来允许用户获取新令牌而无需再次登录来解决令牌无效的问题。对此的反驳是“你不能撤销长期代币,这意味着你又回到了原点。” 为什么你不能撤销长期代币?它们不需要传递给身份验证服务器吗?身份验证服务器可以检查失效令牌列表(或者只是从数据库中删除了刷新令牌),然后不提供新的JWT?完全可以撤销刷新令牌。身份验证服务器向每个

我目前正试图将注意力集中在JSON Web标记上,以确保我没有射中自己(和我的用户)的脚。因此,我看到了这篇文章,更具体地说

其中一个反对意见是,可以通过设置较短的过期时间并使用刷新令牌来允许用户获取新令牌而无需再次登录来解决令牌无效的问题。对此的反驳是“你不能撤销长期代币,这意味着你又回到了原点。”


为什么你不能撤销长期代币?它们不需要传递给身份验证服务器吗?身份验证服务器可以检查失效令牌列表(或者只是从数据库中删除了刷新令牌),然后不提供新的JWT?

完全可以撤销刷新令牌。身份验证服务器向每个客户端发出一个长期刷新令牌,并且必须跟踪它以验证刷新请求

刷新令牌不必是自包含的JWT,因此必须存储在服务器上。服务器将刷新令牌与客户机帐户关联,并简单地将其删除,以便下一个刷新请求需要新的最终用户身份验证

这是一个示例身份验证响应,其中包括(Oauth2扩展)的刷新令牌


好吧,既然没有人反驳你,我想这意味着反驳文章是不准确的。。。谢谢
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
 "access_token": "SlAV32hkKG",
 "token_type": "Bearer",
 "refresh_token": "8xLOxBtZp8",
 "expires_in": 3600,
 "id_token": "eyJhbGciOiJSUzI1NiIg..."
}