Я пытаюсь получить Laravel Паспорт, чтобы дать клиентам ответ 403
вместо route('login')
, когда они пытаются получить доступ к ресурсу через REST с недействительным токеном авторизации.
Это мое route/api.php
Route::middleware(['auth:api'])->group(function () {
Route::prefix('invoices')->group(function () {
Route::post('', 'API\InvoiceController@create');
});
});
И это мое app/Http/Middleware/Authenticate.php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string
*/
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
//return route('login');
return response()->json([],403);
}
}
}
Однако redirectTo
выдает ошибку Header may not contain more than a single header, new line detected
.
Я не уверен, где установить мой 403
ответ?
Я использую Laravel 5.8.