我使用不同的电子邮件地址和密码创建了2个帐户。我有一个HTTP请求,发送令牌(登录后存储在本地存储中),如下所示:
http://apiurl/api/projects/getProjects?token=tokenString
在方法内部,我使用以下行根据令牌检索经过身份验证的用户:
$authenticatedUser = JWTAuth::parseToken()->authenticate();
即使我在第二个帐户登录,也会检索我创建的第一个帐户的电子邮件地址。对于每个帐户,请求中的令牌不同,但authenticatedUser每次都使用相同的帐户。
这只发生在一个特定帐户中,它认为我以其他用户身份登录。如果我从数据库中删除所有用户并创建一些新帐户,那么其中一个会遇到同样的问题。
答案 0 :(得分:0)
一个注意事项。我认为出于安全原因,您不应该在url查询参数中发送令牌。请参阅here。
我建议将其发送到cookie中。在express.js中,像这样。
res.cookie("auth", token);
return res.redirect(`http://localhost:3000/socialauthredirect`);