Laravel API аутентифицирует POST-запросы, но возвращает «Не аутентифицирован» с помощью GET - PullRequest
0 голосов
/ 18 февраля 2020

Я настроил группу маршрутизации для проверки подлинности моих вызовов API с помощью токена.

POST-запросы работают нормально, действительный токен проходит проверку подлинности, а недействительный возвращает «Unauthenticated», как и ожидалось.

Когда я делаю GET-запрос, я получаю «Unauthenticated» каждый раз.

Я делаю GET-запросы с тем же api_token, с которым я делал POST-запросы, и все еще получаю «Unauthenticated»

Это моя группа маршрутов

Route::group(['middleware' => ['auth:api', 'api']], function () {
    Route::post('/', 'ApiPostController@store');
    Route::get('/', 'ApiPostController@fetch');
});

Я попытался удалить маршрут POST из группы, но это не сработало. Попытался изменить маршрут (с / на /get), но ничего не сделал.

Что вызывает сбой запросов GET, даже если я отправляю действительный токен?

Ответы [ 2 ]

3 голосов
/ 18 февраля 2020

Проблема в том, что вы отправляете api_token в теле, а тело запроса отличается для запросов GET и POST. Также отправка токенов в теле GET небезопасна, поэтому вы должны отправлять токены через заголовки.

0 голосов
/ 18 февраля 2020

Если вы находитесь на Apache сервере, вы можете попробовать добавить эти строки в .htaccess

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

, вы также можете очистить конфигурацию и попробовать

php artisan config:clear

, вы можете добавить @csrf а также.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...