Laravel Passport + VueJS: неаутентифицированная ошибка

В настоящее время я создаю страницу с поддержкой Laravel 5.4 для управления пользователями. Я сделал все основные страницы, такие как home, login, register, dashboard, используя шаблонизатор лезвий. Сейчас я создаю страницу управления пользователями. Я успешно реализовал VueJS для этой конкретной страницы. Все компоненты работают отлично.

Теперь Проблема, с которой я сейчас сталкиваюсь, заключается в использовании Axios для входа в пользовательские данные из API-маршрута. Сначала я использую обычный маршрут API для получения данных auth () -> user (), но он не работает.

Я узнал, что я должен использовать Laravel Passport для выполнения этой операции API.

Вот шаги, которые я сделал после этого:

  1. композитору требуется ларавелла / паспорт
  2. php ремесленник мигрировать
  3. паспорт php ремесленника: установить
  4. Добавлена ​​черта Laravel \ Passport \ HasApiTokens в вашу модель приложения \ пользователя
  5. Вызывается метод Passport :: routs в методе загрузки вашего AuthServiceProvider
  6. Установите опцию драйвера защиты аутентификации API для паспорта
  7. Добавил промежуточное ПО CreateFreshApiToken в вашу группу веб-промежуточного ПО
  8. Отредактированный файл bootstrap.js выглядит следующим образом:
window.axios.defaults.headers.common = {
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
'X-Requested-With': 'XMLHttpRequest'
};
  1. Код Axios:
axios.post('/api/getmydata', {
params: {
type: 'raw'
}
})
.then((response) => {
console.log(response);
}).catch((error) => {
console.log(error);
});
  1. Измененный маршрут (api.php):
Route::group(['middleware' => 'api'], function(){
Route::post('getmydata', 'ApiController@test');
});
  1. Добавлена ​​функция внутри ApiController:
public function test() {
$user = Auth::user();
return $user;
}
  1. Проблема здесь заключается в том, что axios как-то возвращает ошибку: не прошедший проверку подлинности

Что-то не так с моим кодом?
Или есть другой способ добиться этого? Спасибо

2

Решение

Отправьте токен доступа в заголовке вашего запроса API:

Application Type :application/json
Authentication : Bearer [Access-Token]
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector