После большой лапши я нашел решение. С помощью двух промежуточных программ я присоединяю повара ie и читаю повара ie:
Прикрепить повара ie Промежуточное ПО:
public function handle($request, Closure $next)
{
$response = $next($request);
if (request()->is("oauth/token")) {
$json = json_decode($response->getContent(), false);
$token = $json->refresh_token;
if ($token) {
return ($response)->cookie('refresh_token', $token, 15);
}}
return $response;}
Считываем повара ie Промежуточное ПО:
public function handle($request, Closure $next)
{
if (request()->is("oauth/token")) {
if ($request->hasCookie('refresh_token')) {
$token = $request->cookie('refresh_token');
$request->request->add(['refresh_token' => $token]);
}}
return $next($request);}
Если у вас есть идеи по оптимизации, особенно бит json декодирования в промежуточном программном обеспечении Attach Cook ie, это было бы здорово!
Потребовалось некоторое время, чтобы узнать, как просто применить это промежуточное программное обеспечение к паспортным маршрутам (поскольку они не учитываются в сети). Оказывается, вы можете просто создать свою собственную группу и передать ее в маршруты Passport в вашем AuthServiceProvider:
Passport::routes(null, ['middleware' => 'passport']);