Laravel Passport 如何在提供无效令牌时显示自定义错误消息
Laravel Passport How to show custom error message when invalid token is supplied
我正在尝试使用 Laravel 通行证创建一个 API,我必须保护一些路由,以便只有经过身份验证的用户才能访问这些路由。
Route::post('register', [ApiAuthController::class, 'register']);
Route::post('login', [ApiAuthController::class, 'login']);
Route::middleware('auth:api')->group(function () {
Route::post('/task', [ApiControllerTaskController::class,'store']);
});
现在登录后,我得到了一个访问令牌,我就这样使用了这个访问令牌。
此处一切正常,但我想在删除不记名令牌时显示无效令牌错误消息。相反,我得到了这个。
确保在发送请求之前在 Postman 的 headers 中添加了 Content-type
: application/json
这对我有用,如果您的 laravel 版本 >= 8.* 将此代码添加到位于 App/Exceptions/Handler.[=17 的 Handler.php =]
public function render($request, Throwable $e)
{
if ($e instanceof AuthenticationException) {
return response()->json($e->getMessage());
}
return parent::render($request, $e);
}
如果您需要更多帮助,请给我留言。希望能帮到你:)
//this worked for me (laravel 5.5) App\Exceptions\Handler.php (CTRL render)
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson() || $request->header('Authorization')) {
$response = ['status' => false, 'message' => 'Invalid token supplied'];
return response()->json($response, 401);
}
return redirect()->guest(route('login'));
}
我正在尝试使用 Laravel 通行证创建一个 API,我必须保护一些路由,以便只有经过身份验证的用户才能访问这些路由。
Route::post('register', [ApiAuthController::class, 'register']);
Route::post('login', [ApiAuthController::class, 'login']);
Route::middleware('auth:api')->group(function () {
Route::post('/task', [ApiControllerTaskController::class,'store']);
});
现在登录后,我得到了一个访问令牌,我就这样使用了这个访问令牌。
此处一切正常,但我想在删除不记名令牌时显示无效令牌错误消息。相反,我得到了这个。
确保在发送请求之前在 Postman 的 headers 中添加了 Content-type
: application/json
这对我有用,如果您的 laravel 版本 >= 8.* 将此代码添加到位于 App/Exceptions/Handler.[=17 的 Handler.php =]
public function render($request, Throwable $e)
{
if ($e instanceof AuthenticationException) {
return response()->json($e->getMessage());
}
return parent::render($request, $e);
}
如果您需要更多帮助,请给我留言。希望能帮到你:)
//this worked for me (laravel 5.5) App\Exceptions\Handler.php (CTRL render)
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson() || $request->header('Authorization')) {
$response = ['status' => false, 'message' => 'Invalid token supplied'];
return response()->json($response, 401);
}
return redirect()->guest(route('login'));
}