Laravel 7:当用户未经身份验证时,如何防止中间件身份验证重定向?

use*_*736 2 laravel laravel-7

我已经实现了中间件 Authenticate with $this->middleware('auth:api');。

该应用程序是 REST API,因此我不需要 Laravel 来重定向客户端。我需要它返回 JSON 响应。

redirectTo里面有一个方法App\Http\Middleware\Authenticate.php;。此方法仅接受路由,因此我无法将 JSON 响应添加到此方法。

(auth:api)当用户未经过身份验证时,如何使用中间件进行身份验证并返回 JSON 响应?

pat*_*cus 7

当请求需要 JSON 响应时,Laravel 已经这样做了。因此,只要您发送 AJAX 请求或发送Accept标头设置正确(application/json或*)的请求,Laravel 就会自动以 401 JSON 响应进行响应。