【问题标题】:Laravel Passport How to show custom error message when invalid token is suppliedLaravel Passport 如何在提供无效令牌时显示自定义错误消息
【发布时间】:2021-12-04 04:27:49
【问题描述】:

实际上我正在尝试使用 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']);
});

现在登录后我得到了访问令牌,我像这样使用了这个访问令牌。

这里一切正常,但是当我删除不记名令牌时,我想显示一种无效令牌错误消息,但我得到了这个。

【问题讨论】:

    标签: laravel laravel-passport laravel-api


    【解决方案1】:

    确保在发送请求之前在 Postman 的标头中添加了 Content-type : application/json

    【讨论】:

      【解决方案2】:

      这对我有用,如果您的 laravel 版本 >= 8.* 将此代码添加到位于 App/Exceptions/Handler.php 中的 Handler.php 女巫

      public function render($request, Throwable $e)
      {
          if ($e instanceof AuthenticationException) {
              return response()->json($e->getMessage());
          }
          return parent::render($request, $e);
      }
      

      如果您需要更多帮助,请给我留言。希望能帮上忙:)

      【讨论】:

      • 谢谢!这对我也有用
      猜你喜欢
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 2020-12-05
      相关资源
      最近更新 更多