0

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

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

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

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

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

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

4

1 回答 1

0

一注。出于安全原因,我认为您不应该在 url 查询参数中发送令牌。参考这里

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

res.cookie("auth", token);
return res.redirect(`http://localhost:3000/socialauthredirect`);
于 2018-03-01T12:46:39.080 回答