JWT Auth错误的用户提供了令牌

时间:2018-02-21 13:48:58

标签: angularjs laravel jwt jwt-auth

我使用不同的电子邮件地址和密码创建了2个帐户。我有一个HTTP请求,发送令牌(登录后存储在本地存储中),如下所示:

http://apiurl/api/projects/getProjects?token=tokenString

在方法内部,我使用以下行根据令牌检索经过身份验证的用户:

$authenticatedUser = JWTAuth::parseToken()->authenticate();

即使我在第二个帐户登录,也会检索我创建的第一个帐户的电子邮件地址。对于每个帐户,请求中的令牌不同,但authenticatedUser每次都使用相同的帐户。

这只发生在一个特定帐户中,它认为我以其他用户身份登录。如果我从数据库中删除所有用户并创建一些新帐户,那么其中一个会遇到同样的问题。

1 个答案:

答案 0 :(得分:0)

一个注意事项。我认为出于安全原因,您不应该在url查询参数中发送令牌。请参阅here

我建议将其发送到cookie中。在express.js中,像这样。

res.cookie("auth", token);
return res.redirect(`http://localhost:3000/socialauthredirect`);