блин, завис над задачей, помогите пожалуйста уже добить её :)
есть такой маршрут в routes/api.php
Route::middleware('auth:api')->get('/products', 'Api\ProductController@index')->name('api.index');
содержимое ProductController@index
public function index(){
$api_token = request()->user()->api_token;
return response()->json([
'products' => $api_token,
])
->header('Authorization', 'Bearer ' . $api_token);
}
посредник, установленный для guest
class RedirectIfAuthenticated
{
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
// return redirect(RouteServiceProvider::HOME);
$api_token = request()->user()->api_token;
return redirect('/api/products')
->header('Authorization', 'Bearer ' . $api_token);;
}
return $next($request);
}
}
посредник guest установлен для app/Http/Controllers/Auth/LoginController.php
который отображает форму входа.
public function __construct()
{
$this->middleware('guest')->except('logout');
}
также в app/Http/Controllers/Auth/LoginController.php определён метод authenticated
protected function authenticated(Request $request, $user)
{
$api_token = $user->api_token;
return redirect('/api/products')
->withHeaders([
'Authorization' => 'Bearer ' . $api_token,
]);
// return $request->wantsJson()
// ? redirect('/api/products')
// : redirect('/home');
}
если перейти по адресу /api/products, то перенаправляет на /login,
после ввода логина и пароля открывается страница /api/products с ошибкой:
ERR_TOO_MANY_REDIRECTS