我正在为移动应用编写API,后端网站是用Laravel编写的。我正在使用Tymon \ JWTAuth进行身份验证:
function auth()
{
try {
if(!$user = JWTAuth::parseToken()->authenticate())
{
return ('login or register');
}
}
catch (JWTException $e )
{
return ('token is invalid');
}
return $this->user = $user ;
}
今天我注意到了一些事情,当我在我的localhost API上为id为4
的用户生成JWT令牌时,如果我将相同的令牌发送到实时API而不是出错,我会得到用户身份4
!基本上我可以通过在我的localhost上为他/她的id生成一些令牌来登录我想要的任何用户。我错过了什么吗?
我不知道这是否与此有关,但为了节省测试时间,我不会发送令牌作为POST正文和标题的一部分,只需在GET
方法的网址中发送:
site.com/api/user?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
答案 0 :(得分:0)
听起来像localhost和远程位置上的密钥是相同的。改变这些可能会解决您的问题。