【发布时间】:2016-04-07 00:42:38
【问题描述】:
我一直在关注这篇博文 (https://auth0.com/blog/2015/04/09/adding-authentication-to-your-react-flux-app/),对 JWT 的某个方面感到困惑。
上面的帖子似乎通过检查是否有存储为 cookie 的 JWT 来测试用户是否已经登录,如果有,它会简单地对其进行解码以找到用户名和其他信息,并将用户重定向到经过身份验证的页面。
我想知道是什么阻止了某人添加虚假的 JWT cookie 来访问应用程序的经过身份验证的部分?我一定遗漏了一些明显的东西。换句话说,在维护会话时,前端如何确保 JWT 是“由服务器签名”之类的,而不是为试图获得访问权限而欺诈性创建的?
【问题讨论】:
-
“我想知道是什么阻止了某人添加虚假的 JWT cookie 来访问应用程序的经过身份验证的部分?” --- 你会用什么密钥来签名?
-
所以当 JWT 作为 cookie 存储在前端时,在满足任何请求之前,服务器会检查该 JWT 是否使用其密钥签名,如果是,是否允许?
-
"服务器检查 JWT 是否使用其密钥签名,如果是,是否允许?" - - 是的。换句话说 - 您不能信任客户端发送的任何内容。
-
嗯.. 我想我很困惑,因为当应用程序刷新并且用户之前登录时,我正在关注的教程(或链接到它的 repo)似乎没有这样做. 似乎只是检查
localStorage是否有jwt,如果是,则对用户进行身份验证。
标签: javascript authentication cookies jwt json-web-token