Я создаю API отдыха с Laravel и Laravel Passport.Я пытаюсь получить доступ к маршруту, защищенному промежуточным ПО laravel api auth по умолчанию:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::prefix('auth')->group(function () {
Route::post('login', 'Auth\ApiAuthController@login');
});
В заголовке запроса я передаю Authorization: Bearer <my_secret_token>
, но получаю следующее исключение:
Argument 1 passed to Illuminate\Auth\TokenGuard::__construct() must implement interface Illuminate\Contracts\Auth\UserProvider, null given, called in /Users/markusheinemann/Projekte/Lycus/application/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php on line 162
Здесь мойзаголовок запроса:
{
content-type: "application/json",
x-requested-with: "XMLHttpRequest",
authorization: "********",
user-agent: "PostmanRuntime/7.13.0",
accept: "*/*",
cache-control: "no-cache",
postman-token: "ebfa3211-958d-4042-ab6a-a488847fc2f7",
host: "localhost",
accept-encoding: "gzip, deflate",
connection: "keep-alive"
}
Вот мой процесс создания токена:
public function login(LoginRequest $request)
{
$credentials = $request->only(['email', 'password']);
if(!Auth::attempt($credentials)) {
return response()->json(['message' => trans('auth.failed')], 401);
}
$token = $request->user()->createToken('Lycus Frontend Client');
$token->token->save();
return response()->json([
'accessToken' => $token->accessToken,
'expiresAt' => $token->token->expires_at,
]);
}
Кто-нибудь знает, почему я получаю эту ошибку?