gpt4 book ai didi

javascript - 使用 JWT 进行身份验证

转载 作者:行者123 更新时间:2023-11-29 16:53:11 26 4
gpt4 key购买 nike

我一直在关注这篇博文 ( https://auth0.com/blog/2015/04/09/adding-authentication-to-your-react-flux-app/ ),并对 JWT 的一个方面感到困惑。

上面的帖子似乎通过检查是否有作为 cookie 存储的 JWT 来测试用户是否已经登录,如果有,它只是对其进行解码以找到用户名和其他信息,并将用户重定向到经过身份验证的页面。

我想知道是什么阻止某人添加假的 JWT cookie 来访问应用程序的已验证部分?我一定错过了一些明显的东西。换句话说,在维护 session 时,前端如何确保 JWT 是“由服务器签名”之类的,而不是为了获取访问权限而欺诈性创建​​的?

最佳答案

在许多应用程序中,有人可以添加伪造的 JWT 来访问您只希望他们在登录时看到的前端部分。但是,他们也有在自己的计算机上运行的前端,并且可以更改代码来做同样的事情。

后端服务器使用前端不应该存在的 key 对 JWT 进行编码,当您将 JWT 传回服务器时,服务器将在处理您的请求之前对其进行解码。所以它知道有人早些时候使用了您的登录凭据,它发出了 JWT 作为响应,并且有人再次向它发送了 JWT。这会阻止没有(真正的)JWT 的人对您的 API 的攻击。<​​/p>

与 session cookie 相比,它还有一个优势在于它在服务器端是无状态的,并且它使某些跨站点请求伪造攻击在传统浏览器中变得更加困难,因为攻击者无法将请求嵌入到您的站点并信任浏览器添加您的 session cookie。

但这只是更大的安全解决方案的一部分。

关于javascript - 使用 JWT 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34573598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com