(Это не дубликат Laravel 5.3 Персональный токен доступа 500 . Существует проблема с созданием токена, но у меня нет проблем с созданием токена, мой токен просто не принят в аутентификации)
У меня есть настройки, использующие laravel / passport на apache. Я следовал процедуре установки в https://laravel.com/docs/5.7/passport#installation, а также там я создал смешанное приложение. Часть использует стандартный laravel, а есть сложный компонент, использующий vue + vuex. Моя аутентификация работает следующим образом: я использую стандартную веб-аутентификацию laravel, и при входе в систему я создаю новый токен личного доступа.
Когда компонент vue создан, он успешно извлекает токен, используя:
window.axios.get(`/oauth/personal-access-tokens`)
Когда я запрашиваю API, я передаю токен:
axios.defaults.headers.common['Authorization'] = 'Bearer '+context.rootState.user.token;
axios.defaults.headers.common['Accept'] = 'application/json';
window.axios.get(`/api/userfavs`)...
Полный заголовок
Accept application/json
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Authorization Bearer 43c7fbc2b96d67d36749ad6…cf6692eb7d21dbc15d4196c1212bd
Cache-Control max-age=0
Connection keep-alive
Cookie XSRF-TOKEN=eyJpdiI6IkNrNSswZER…jOTA5MTA3ZjMxOTk4NWEifQ%3D%3D
Host localhost
Referer http://localhost/vegbed/1/edit
User-Agent Mozilla/5.0 (X11; Ubuntu; Linu…) Gecko/20100101 Firefox/64.0
X-CSRF-TOKEN tbVdEArmqXzdEGGwwd2eYFnL0gwKs4dW01aSrKz1
X-Requested-With XMLHttpRequest
X-XSRF-TOKEN eyJpdiI6IkNr
Маршрут:
Route::get('userfavs/','Api\UserFavController@index')->middleware('auth:api');
Ответ:
SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец 'api_token' в 'предложении где' (SQL: выберите * из users
, где api_token
= 43c7fbc2b96d67d36749ad6df2278e4e69d755909dfc2de3400cf6692eb122641961212264196b1d196
Вот так выглядит мой auth.php:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],