【问题标题】:Best approaches for to create a JWT server Dotnet 6创建 JWT 服务器 Dotnet 6 的最佳方法
【发布时间】:2022-12-18 12:55:56
【问题描述】:

我正在制作一个身份验证服务器,它将向客户端提供 JWT 令牌,以便客​​户端与另一台服务器进行通信。

  • 服务器一(认证——负责传递JWT)
  • 服务器二(主要 API)
  • 客户端

服务器二验证服务器一提供的 JWT 令牌的最佳和最安全方法是什么。 服务器一是否应该有一些中间件来向服务器二发送 api 请求?在哪个服务器两个具有验证令牌的功能?或者服务器二是否应具有与服务器一相同的密钥来验证令牌本身?

【问题讨论】:

  • 您的 JWT 是使用对称密钥还是非对称密钥签名的?

标签: .net-core jwt .net-6.0


【解决方案1】:

服务器二验证服务器一提供的 JWT 令牌的一种常见且安全的方法是,服务器二拥有自己的用于签署 JWT 令牌的密钥副本。这样,服务器二就可以使用这个密钥来验证令牌上的签名,并确保令牌是由服务器一签名的。

在这种方法中,服务器一不需要任何特殊的中间件来向服务器二发送 API 请求以验证令牌。相反,服务器二可以简单地使用密钥在本地验证令牌。这种方法可以更有效和可扩展,因为它避免了发出额外的网络请求来验证令牌的开销。

但是,在使用此方法时需要牢记一些注意事项:

  • 密钥必须安全地保存在服务器一和服务器上 二,不得与任何其他方共享。这是为了 防止未授权方创建或修改 JWT 服务器二将接受的令牌。
  • 应定期轮换密钥以降低被攻击的风险 它被破坏了。轮换密钥时,两个服务器一个 和服务器二必须用新的密钥更新。
  • 服务器二还应验证 JWT 令牌的其他方面,例如 作为到期时间和观众要求,以确保 令牌有效且未被篡改。

总之,使用服务器二的共享密钥来验证来自服务器一的 JWT 令牌是一种安全有效的方法,只要密钥保持安全并且 JWT 令牌得到正确验证。

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多