#laravel #laravel-passport #laravel-api
Вопрос:
На самом деле я пытаюсь создать api с помощью Laravel passport, и мне нужно защитить некоторые маршруты, чтобы только аутентифицированный пользователь мог получить доступ к этим маршрутам.
Route::post('register', [ApiAuthController::class, 'register']);
Route::post('login', [ApiAuthController::class, 'login']);
Route::middleware('auth:api')->group(function () {
Route::post('/task', [ApiControllerTaskController::class,'store']);
});
Теперь вот после входа в систему я получил токен доступа и использовал этот токен доступа вот так.
здесь все работает нормально, но когда я удаляю токен на предъявителя, я хочу показать сообщение об ошибке недопустимого токена, но я получил это.
Ответ №1:
Убедитесь, что вы добавили Content-type
: application/json
в заголовки в Postman перед отправкой запроса
Ответ №2:
Это сработало для меня, если ваша версия laravel >= 8.* добавьте этот код в свой Handler.php ведьма, расположенная в App/Exceptions/Handler.php
public function render($request, Throwable $e)
{
if ($e instanceof AuthenticationException) {
return response()->json($e->getMessage());
}
return parent::render($request, $e);
}
Если вам нужна дополнительная помощь, оставьте мне комментарий. Я надеюсь, что смогу помочь:)
Комментарии:
1. Спасибо! Это сработало и для меня тоже