Я обновил свой проект на 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
Может ли кто-нибудь помочь мне с этой проблемой?
заранее спасибо
Я узнал что это было
Я пытался показать токен пользователя из $ user-> tokens () -> first () -> id
Но это не знак
На самом деле мы получаем токены из $ this-> user-> createToken ($ name) -> accessToken, а не из db
Других решений пока нет …