Only the command line should be able to get credentials from the cache

This commit is contained in:
Timothy Warren 2020-05-08 21:34:36 -04:00
parent 2cc85049f3
commit af0b392e78
2 changed files with 24 additions and 7 deletions

View File

@ -138,11 +138,16 @@ final class Auth {
* @throws InvalidArgumentException
*/
public function getAuthToken(): ?string
{
if (PHP_SAPI === 'cli')
{
return $this->segment->get('auth_token', NULL)
?? $this->cache->get(K::AUTH_TOKEN_CACHE_KEY, NULL);
}
return $this->segment->get('auth_token', NULL);
}
/**
* Retrieve the refresh token
*
@ -150,11 +155,16 @@ final class Auth {
* @throws InvalidArgumentException
*/
private function getRefreshToken(): ?string
{
if (PHP_SAPI === 'cli')
{
return $this->segment->get('refresh_token')
?? $this->cache->get(K::AUTH_TOKEN_REFRESH_CACHE_KEY, NULL);
}
return $this->segment->get('refresh_token');
}
/**
* Save the new authentication information
*

View File

@ -155,19 +155,26 @@ final class Model {
*/
public function reAuthenticate(string $token)
{
$response = $this->getResponse('POST', K::AUTH_URL, [
$response = $this->requestBuilder->getResponse('POST', K::AUTH_URL, [
'headers' => [
'accept' => NULL,
'Content-type' => 'application/x-www-form-urlencoded',
'Accept-encoding' => '*'
],
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => $token
]
]);
$data = Json::decode(wait($response->getBody()->buffer()));
if (array_key_exists('error', $data))
{
dump($data['error']);
dump($response);
die();
}
if (array_key_exists('access_token', $data))
{
return $data;