GuzzleHttp: ¿cómo puedo guardar las cookies de una respuesta POST y usarlas en la próxima POST?
Estoy usando Guzzle para iniciar sesión en mi sitio API, y en el momento en que inicio sesión con las credenciales correctas, recibo una cookie con un RefreshToken para enviarla en la próxima llamada, aquí está mi código simple (y funciona bien):
$client = new Client(array(
'cookies' => true
));
$response = $client->request('POST', 'http://myapi.com/login', [
'timeout' => 30,
'form_params' => [
'email' => $request->get('email'),
'password' => $request->get('password'),
]
]);
y recibo la respuesta correcta con una cookie, puedo ver la cookie usando:
$newCookies = $response->getHeader('set-cookie');
ahora, necesito usar esta cookie en las próximas llamadas, y sé que Guzzle puede guardar la cookie para mí y enviarla automáticamente (o no) en la próxima llamada usando un "CookieJar" o "SessionCookieJar", he intentado usar pero no veo la cookie en el 'jar', esto es lo que he hecho:
$cookieJar = new SessionCookieJar('SESSION_STORAGE', true);
$client = new Client([
'cookies' => $cookieJar
]);
$response = $client->request ....
pero, cuando recibo la cookie de POST, solo puedo verla usando:
$newCookies = $response->getHeader('set-cookie');
y no está en el cookieJar, por lo que no lo enviará en la próxima llamada ... ¿qué me estoy perdiendo aquí?
¡Gracias!