我已经将Laravel 5.2上的项目升级到Laravel 5.3,使用Laravel护照进行api路线。
几周之后我仍然无法获得令牌工作,我总是得到一个未经验证的错误。
经过所有调查后,我开始调试Laravel Passport,并了解我的问题在这里(\ vendor \ lcobucci \ jwt \ src \ Parser.php):
protected function splitJwt($jwt)
{
if (!is_string($jwt)) {
throw new InvalidArgumentException('The JWT string must have two dots');
}
$data = explode('.', $jwt);
if (count($data) != 3) {
throw new InvalidArgumentException('The JWT string must have two dots');
}
return $data;
}
我从
获得的代币$this->user->createToken($this->user->id.' Access Token')->accessToken;
没有点,所以不能爆炸。我不知道为什么,但认为这是主要问题
我得到的典型代币看起来像这样:1369781b342d5181072c7f2859a54102f1dc992f6367c4b8ac37193799ec893438ad1b6ac43af3ae
有人可以帮我解决这个问题吗?
提前致谢
答案 0 :(得分:2)
我发现它是什么 我试图从$ user-> tokens() - > first() - > id中显示用户令牌 但它不是一个象征
我们真的从$ this-> user-> createToken($ name) - > accessToken获得令牌而不是来自db