我修改了app / Exceptions / Handler.php以获得未经身份验证的功能。由于它纯粹是一个API,我只返回json。
protected function unauthenticated($request, AuthenticationException $exception)
{
return response()->json(['error' => 'Unauthenticated'], 401);
}
添加后php artisan tinker
给出了以下错误。
[ErrorException]
Declaration of App\Exceptions\Handler::unauthenticated($request, App\Exceptions\AuthenticationException $exception) should be compatible with Illuminate\Foundation\Exceptions\Handler::unauthenticated($request, Illuminate\Auth\AuthenticationException $exception)
但我不确定需要改变什么以使其兼容。我idi在处理程序的顶部添加了一个use语句use Illuminate\Auth\AuthentificationException;
。
答案 0 :(得分:1)
你应该使用Exception并请求
请确保包括这样的内容:
namespace App\Exceptions;
use Exception;
use Request;
use Illuminate\Auth\AuthenticationException;
use Response;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
你的方法应该是这样的:
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
return redirect()->guest('/');
}
你的代码只是响应为json