Я новичок в laravel и laravel-passport, я следил за этой статьей на среде здесь
все идет так, как я хочу, пока я не попытался обработать ошибку, если пользовательотправил неверный токен авторизации в деталях метода
вот ошибка:
InvalidArgumentException
Маршрут [логин] не определен.
я использую laravel 5.7 и паспорт 7.1, который является самым последним
я пытался
первый фрагмент
- , чтобы попытаться поймать ошибку в методе show
второй фрагмент
- для обработки исключения несоответствия токена в /app/exceptions/handler.php это не исключение несоответствия токена, я думаю
третий фрагмент
- даже немного упустить с ядром laravel в файле Handler.php
в методе без аутентификации, но без надежды
/ route / api.php
Route::get('user/login', 'AuthController@login');
// user
Route::get('users/find', 'UserController@index');
//here i am trying this route
//with wrong authorization tocken
Route::middleware('auth:api')->group(function () {
Route::get('user', 'UserController@show');
});
Route::post('user', 'UserController@store');
Route::put('user/{id}', 'UserController@update');
Route::delete('user/{id}', 'UserController@destroy');
/ UserController.php
public function show()
{
if(Auth::check()){
$user = auth()->user();
return response()->json(['user'=>auth()->user()], 200);
}else{
return response()->json("can't connect", 400);
}
}
Первый публичный показ функции Snippet () {
try {
$user = auth()->user();
} catch (\Throwable $th) {
return response()->json("can't connect", 400);
}
return response()->json(['user'=>auth()->user()], 200);
}
Второй сниппет/app/exceptions/handler.php
public function render($request, Exception $exception)
{
if ($exception instanceof TokenMismatchException) {
return "Token error";
}
return parent::render($request, $exception);
}
Третий фрагмент
\ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Exceptions \ Handler.php
protected function unauthenticated($request, AuthenticationException $exception)
{
return $request->expectsJson()
? response()->json(['message' => $exception->getMessage()], 401)
: redirect()->guest($exception->redirectTo() ?? route('login'));
}
Фрагмент ошибки (может быть полезным)
public function route($name, $parameters = [], $absolute = true)
{
if (! is_null($route = $this->routes->getByName($name))) {
return $this->toRoute($route, $parameters, $absolute);
}
// the following line is highlighted
throw new InvalidArgumentException("Route [{$name}] not defined.");
}
Я ожидаю, что возвращение будет json, а не этот шаблон ошибки
потому что вы могли понять, что я пытаюсь создать спокойный API