Middleware auth перенаправляет API-маршруты в / home - PullRequest
0 голосов
/ 06 февраля 2019

Я создал маршрут API:

Файл routes/api.php:

Route::middleware('auth:api')->get('/user', 
function (Request $request) {
    return $request->user();
});

Route::middleware('auth:api')->group(function() 
{
    Route::get('/tasks','TaskController@index');
});

После этого я перехожу на /api/tasks, промежуточное ПО перенаправляет в / home, что я должен сделать, чтобы использовать /API / задач без перенаправления в / home (я вошел), а также я мог бы использовать это промежуточное ПО?

Laravel 5.5

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019
0 голосов
/ 06 февраля 2019

Когда маршруты размещены в api.php, это не будет работать, если вы вошли в систему через сеанс на веб-сайт.На самом деле он будет искать токен API, который вы сейчас не отправляете.

Если вы вошли в систему через сеанс на веб-сайте, простое нажатие на конечную точку API в вашем браузере не будет работать.Он не будет проверять сеанс, чтобы увидеть, вошли ли вы в систему, он будет искать токен API с запросом.Поскольку вы не указываете токен, это вызывает исключение AuthenticationException.

Затем обработчик исключений принимает это исключение, проверяет ваш запрос и видит, что он не указал в заголовках, что он ожидает JSON.Если бы ожидался JSON, вы бы увидели ответ JSON, в котором говорилось, что он не аутентифицирован.Поскольку он не ожидает JSON, он перенаправляет на страницу входа, которая перенаправляет на / home, поскольку вы вошли в систему через сеанс.Это сбивает с толку, но я ожидаю, что в этом причина.

Вам понадобится такой инструмент, как Postman, если вы хотите поиграть с конечными точками API, чтобы вы могли указать требуемые заголовки в запросе.

Для получения более подробной информации посетите здесь

...