Я схожу с ума!Я искал в Интернете тысячи вопросов StackOverFlow и не решил мою проблему.
Я разрабатываю API REST с Laravel Framework 5.7 и Passport 7.0.Я настроил каждый файл в соответствии с документацией и смог получить токен с grant_type=password
(без проверки подлинности), но когда я пытаюсь получить доступ к маршруту, защищенному промежуточным ПО auth:api
, я всегда получаю 401ответ.
Это мой HTTP-запрос:
GET /api/usuario/1/grupos HTTP/1.1
Host: localhost:8000
Accept: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI...
Вот мой конфиг auth.php:
'guards' => [
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
Это mapApiRoutes()
в моем RouteServiceProvider.php:
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('auth:api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
Спасибо.
Это мой запрос на вход в систему с помощью Почтальона
Это 401, когда я пытаюсь использоватьтокен в API-маршруте
РЕДАКТИРОВАТЬ:
Если я отключу промежуточное ПО 'auth: api', я действительно могу получить токен Bearer, используя $request->bearerToken()
поэтому проблема не в маркере CSRF, потому что я могу получить запрос.