【问题标题】:Need some info about JWT Authentication for REST APIs需要一些有关 REST API 的 JWT 身份验证的信息
【发布时间】:2020-10-17 20:46:14
【问题描述】:

我需要保护我的 REST API,因为我在一个简单的 REST API 上使用了 JWT 身份验证。完成 JWT 身份验证后,我需要回答一些问题,如果有人可以在这里帮助我,那就太好了。以下是问题:

  1. 基于令牌的身份验证如何比基本身份验证更安全?
  2. token有效性检查的标准是什么?
  3. JWT 生成令牌的算法是什么?
  4. 在哪里/如何比较/验证令牌?

【问题讨论】:

标签: rest asp.net-core jwt jwt-auth


【解决方案1】:
  1. 对于问题 1:两者都不安全。事实上,两者都同样容易受到攻击(请对此进行更多研究)。 jwt 的优点是您可以将授权证明存储在客户端上(是的,它由您的密钥签名是安全的)。但在会话的情况下,它们会占用服务器空间。
  2. 对于问题 2:有效性的过程取决于实施。您可以为令牌定义到期时间,并在令牌到期后使会话无效,或者您可以使用刷新令牌来发出新令牌。验证过程涉及使用您的密钥(在将令牌发布给客户端之前对其进行签名)对令牌进行解码。
  3. 对于问题3:编码中涉及的通用算法是base64,而签名中涉及的通用算法是带有密钥的HS256。其他算法也用于不同的实现。
  4. 对于问题 4:客户端应将每个受保护请求的令牌添加到服务器(说明客户端的授权)。服务器中的初始过程将是验证令牌并查找发送请求的人。所以验证过程是在服务器端完成的。

最后,您必须记住的是,jwt 是授权证明,对于身份验证,您可以使用基于用户名密码的安全性,通过该安全性您可以发出授权令牌。

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 2016-03-24
    • 1970-01-01
    • 2018-06-22
    • 2019-07-13
    • 1970-01-01
    • 2016-04-24
    • 2018-04-19
    • 2019-01-01
    相关资源
    最近更新 更多