public function fetchNewAccessToken(LinkedInUrlGeneratorInterface $urlGenerator)
{
$storage = $this->getStorage();
$code = $this->getCode();
if ($code === null) {
/*
* As a fallback, just return whatever is in the persistent
* store, knowing nothing explicit (signed request, authorization
* code, etc.) was present to shadow it.
*/
return $storage->get('access_token');
}
try {
$accessToken = $this->getAccessTokenFromCode($urlGenerator, $code);
} catch (LinkedInException $e) {
// code was bogus, so everything based on it should be invalidated.
$storage->clearAll();
throw $e;
}
$storage->set('code', $code);
$storage->set('access_token', $accessToken);
return $accessToken;
}