Authentication 我能';我不能很好地理解JWT认证
现在许多开发人员使用JWT身份验证来授权api调用。 顺便说一下,如果黑客能够捕获经过身份验证的用户的api调用请求,那么他就可以拥有经过身份验证的JWT令牌。 然后黑客可以使用授权的JWT令牌访问此api,而无需进行身份验证。 这样行吗? 我想知道JWT认证实际上是安全的。Authentication 我能';我不能很好地理解JWT认证,authentication,token,jwt,http-token-authentication,Authentication,Token,Jwt,Http Token Authentication,现在许多开发人员使用JWT身份验证来授权api调用。 顺便说一下,如果黑客能够捕获经过身份验证的用户的api调用请求,那么他就可以拥有经过身份验证的JWT令牌。 然后黑客可以使用授权的JWT令牌访问此api,而无需进行身份验证。 这样行吗? 我想知道JWT认证实际上是安全的。 你能解释一下吗?jwt是一种代码,它包含关于用户身份和声明的信息,并且只在有限的时间内有效 除颁发令牌的授权端点外,任何人都无法读取或更改代码。因此,它是安全的,因为它不能被篡改。这意味着令牌可以被完全信任。您不必验证令牌
你能解释一下吗?jwt是一种代码,它包含关于用户身份和声明的信息,并且只在有限的时间内有效 除颁发令牌的授权端点外,任何人都无法读取或更改代码。因此,它是安全的,因为它不能被篡改。这意味着令牌可以被完全信任。您不必验证令牌,并且可以使用身份信息和声明,而无需咨询数据库 但这也是缺点。一旦颁发,令牌将一直有效,直到到期,因为到期时间无法更改。这就是令牌只能通过安全线路发送到服务器的原因。你不会希望黑客拦截令牌的 但如果真的发生了,那又怎么样 有几种选择。您可以使用短期令牌,这意味着令牌在发出后很短时间内过期。如果令牌被截获,它只在一小部分时间内有效。在这种情况下,你认为黑客可以在有限的时间内访问系统是理所当然的。这样做的好处是,您需要的资源更少,黑客的努力可能不值得 另一个选项是在每个请求上验证令牌。这需要更多的资源(例如数据库中的查找),尽管您可以使用某种缓存。如果某些内容发生更改,如ip地址,则可以使令牌无效。但问题是,你是否能检测到一个令牌是否是由黑客发送的 因此,这取决于所选择的策略。但是:如果您在未经验证的情况下发布长期访问令牌(因此不可能撤销该令牌),那么如果黑客获得访问令牌,您将遇到问题。所以你需要做点什么,以安全的方式使用它 虽然我认为这应该足以帮助您理解,但我想提及刷新令牌的使用。如果使用短期访问令牌,则可能需要实现长期刷新令牌。这些刷新令牌用于在新的访问令牌过期后获取该令牌。优点是不需要发送凭据,refesh令牌就足够了。但是,您只能在能够保密的应用程序中实现这一点。因为您肯定不希望黑客拦截(长期)刷新令牌
由于使用频率较低(与访问令牌相反),您可以添加逻辑以在使用时验证刷新令牌。您可以查阅数据库并决定拒绝请求(例如,当ip地址更改时)并撤销刷新令牌。在这种情况下,用户必须再次识别自己(发送凭据)。JWT只是fsb服务器和客户端之间的安全消息传输工具,以便fsb服务器可以确定客户端是否登录;如果登录,fsb服务器将获取基于用户的个人唯一数据
这就是为什么您通过HTTPS通过加密连接运行所有流量。如果我们不使用HTTPS,JWT身份验证是不安全的?正确。JWT本身并不安全。因此,由用户来确保令牌的安全性。我不知道如何正确组织从我的笔记中获取的信息