【问题标题】:How to overcome from a security breach in Jwt tocken validation如何克服 Jwt 令牌验证中的安全漏洞
【发布时间】:2019-07-11 13:58:42
【问题描述】:

我使用了 jwt 令牌保护 Angular 应用程序,在后端,我们使用了 asp.net 核心 API。成功登录后,我们已将令牌保存在网络浏览器内存的本地存储中,然后我们从应用程序中注销,只需从浏览器内存中删除令牌即可。

我们可以阻止用户通过应用程序访问应用程序,但如果有些人拥有令牌,他可以使用 postman 和其他 api 测试工具访问端点。我们如何才能克服这个问题。有什么办法可以手动删除令牌或使令牌过期。

【问题讨论】:

  • 使用像here这样的刷新令牌
  • Jabberwocky 所说的。访问令牌时间短(约 5-10 分钟)、长期刷新令牌(可以撤销)和服务器端无效

标签: asp.net-core jwt


【解决方案1】:

撤销 jwt 令牌并不容易,没有标准的方法来撤销访问令牌,除非授权服务器实现自定义逻辑,强制您将生成的访问令牌存储在数据库中,并对每个请求进行数据库检查。

一个简单的方法是使用短期访问令牌和刷新令牌,使用刷新令牌来更新访问令牌,如果你想撤销用户,在服务器端撤销刷新令牌,在客户端清除刷新令牌和访问令牌.

另一种方式是引用标记。基本思想是授权服务器将令牌的内容存储在数据存储中,并且只会将此令牌的唯一标识符发回给客户端。接收此引用的 API 必须打开与授权服务器的反向通道通信以验证令牌,以便服务器端可以控制引用令牌(唯一标识符)是否仍然可用。身份服务器 4 还提供了引用令牌功能:

http://docs.identityserver.io/en/latest/topics/reference_tokens.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 2014-10-27
    • 2018-10-16
    • 2016-12-09
    • 2018-08-23
    • 2018-11-12
    • 2020-03-07
    • 2019-06-23
    相关资源
    最近更新 更多