Промежуточное ПО Authenticate
Laravel получает путь, на который пользователи должны перенаправляться, когда они не прошли проверку подлинности, и по умолчанию перенаправляет пользователей на /login
.Я хочу реализовать дополнительную функцию перенаправления пользователя с сообщением (например, время сеанса XYZ мин истекло или, пожалуйста, войдите в систему, чтобы продолжить).Так что мое Authenticate
промежуточное ПО выглядит так:
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
use Illuminate\Http\Exceptions\HttpResponseException;
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->is('api/*'))
{
throw new HttpResponseException(response()->error(['failure_reason'=>'Fresh Access Token Required'], 'Unauthorized Request', 401));
}
if (!$request->expectsJson()) {
// return route('login');
$request->headers->set('Accept', 'application/json');
return redirect("/login")->with("message", "Exceeded an inactivity period of over 15 mins. Kindly re-login to continue");
}
}
}
С или без $request->headers->set('Accept', 'application/json');
, я продолжаю получать эту ошибку: Заголовок не может содержать более одного заголовка, обнаружена новая строка .Любые идеи о том, как решить эту проблему?