当前位置: 首页 > 知识库问答 >
问题:

如何防止刷新被盗的访问令牌

廉学潞
2023-03-14

场景是:您有一个有效期较长的刷新令牌和一个有效期限较短的访问令牌。

设置:有一个客户端、应用程序服务器和身份验证服务器。

  • 客户端存储访问令牌。
  • 应用程序服务器存储刷新令牌。
  • 身份验证服务器分发刷新访问令牌。

其中一个优点是被盗的访问令牌只能在其有效的时间内使用。

假设黑客窃取了有效期为30分钟的访问令牌。当黑客在30分钟后用有效但过期的被盗访问令牌发出请求时,应用服务器用刷新令牌刷新它,从而黑客获得新的有效且未过期的访问令牌。

如何防止这种情况?

共有2个答案

汪飞捷
2023-03-14

没有办法阻止黑客刷新令牌,除非

> < li>

原始用户重设了密码,认证服务器删除了所有以前的刷新令牌。

缩短刷新令牌的有效时间,使其更接近访问令牌的有效性。

在这两种情况下,我们都依赖于使刷新令牌无效。

公西英叡
2023-03-14

应用程序服务器不应具有刷新令牌。

在OAuth2.0中,客户端应该存储刷新令牌。

要使用刷新令牌创建新的访问令牌,< code >客户端应向授权服务器提交刷新令牌(以及客户端id和密码)。

 类似资料:
  • 本文向大家介绍如何防止cookie被盗用?相关面试题,主要包含被问及如何防止cookie被盗用?时的应答技巧和注意事项,需要的朋友参考一下 禁止第三方网站带cookie(same-site属性) 每次请求需要输入图形验证码 使用Token验证 为cookie设置HttpOnly 设置CSP 使用Referer验证 禁止网页内嵌 使用https cookie带上用户ip加密

  • 我在做一个全堆栈的web应用程序。我的前端由angular-cli组成,后端由node+Express构建。

  • 我面临一个问题,以刷新谷歌访问令牌在服务器端。 我从谷歌认证服务器得到的响应只是403状态代码。信息是这样的 仅仅为了刷新访问令牌,在我的服务器上使用SSL是强制性的吗?它已经在我的本地服务器上测试过,没有附加任何SSL到它。

  • 我正在使用Cognito用户池对系统中的用户进行身份验证。成功的身份验证将提供一个ID令牌(JWT)、一个访问令牌(JWT)和一个刷新令牌。这里的文档清楚地提到了刷新令牌可以用于刷新访问令牌,但没有提到如何使用。我的问题是,一旦我的访问令牌过期,我如何使用存储的刷新令牌再次刷新我的访问令牌? 我搜索了JavaScript SDK,但找不到任何方法来做同样的事情。我肯定错过了什么。 我还想通过Lam

  • 本文向大家介绍oauth 刷新访问令牌,包括了oauth 刷新访问令牌的使用技巧和注意事项,需要的朋友参考一下 示例 资源

  • 若授权服务器给客户端颁发了刷新令牌,客户端通过使用按附录B“application/x-www-form-urlencoded”格式在HTTP请求实体正文中发送下列UTF-8字符编码的参数向令牌端点发起刷新请求: grant_type 必需的。值必须设置为“refresh_token”。 refresh_token 必需的。颁发给客户端的刷新令牌。 scope 可选的。如3.3节所述的访问请求的范