Customize Laravel Passport response unauthenticated

后端 未结 3 486
臣服心动
臣服心动 2021-01-14 05:50

Currently I have a login, register, update and delete functionality using my api made in Laravel using passport feature. Everything works fine the insertion of data and fetc

3条回答
  •  误落风尘
    2021-01-14 06:16

    Here's how I solved it. If you are using Laravel 5.5 or above you can override the default exception handler by editing app/Exceptions/Handler.php to add the following:

    use Illuminate\Auth\AuthenticationException;
    
    protected function unauthenticated($request, AuthenticationException $exception)
    {
        if ($request->expectsJson()) {
            $json = [
                'isAuth'=>false,
                'message' => $exception->getMessage()
            ];
            return response()
                ->json($json, 401);
        }
        $guard = array_get($exception->guards(),0);
        switch ($guard) {
            default:
                $login = 'login';
                break;
        }
        return redirect()->guest(route($login));
    }
    

    In the JSON return, you can add any parameters per your requirement.

提交回复
热议问题