/**
* @return \Symfony\Component\HttpFoundation\Response $response
*/
public function saveTokenAction()
{
if (!$this->request->query->has('oauth_token') || !$this->request->query->has('oauth_verifier')) {
return $this->goToSettingsAction();
}
$path['_controller'] = 'weaving_the_web_user.controller.twitter:getAccessTokenAction';
$subRequest = $this->request->duplicate(['oauth_token' => $this->request->get('oauth_token'), 'oauth_verifier' => $this->request->get('oauth_verifier')], null, $path);
/**
* @var \Symfony\Component\HttpFoundation\Response $response
*/
$response = $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
$content = $response->getContent();
$tokenParameters = json_decode($content, true);
if (json_last_error() !== JSON_ERROR_NONE) {
return $this->goToSettingsAction();
}
$this->persistToken($tokenParameters);
$subRequest = $this->request->duplicate(null, null, ['_controller' => 'weaving_the_web_user.controller.settings:showAction']);
return $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
}