/** * @param Request $request * @return JsonResponse */ public function postExternalAuthLinkAction(Request $request) { $post = $this->getPostJson($request); if (!isset($post['account'])) { throw new ParameterMissingException("Parameter 'account' is required"); } if (!isset($post['referrer'])) { throw new ParameterMissingException("Parameter 'referrer' is required"); } $token = $this->configuration->createToken(); $referrer = $post['referrer'] . '?token=' . $token['token'] . '&account=' . $post['account']; $url = $this->generateUrl('keboola_google_drive_writer_external_auth', ['token' => $token['token'], 'account' => $post['account'], 'referrer' => $referrer], true); return $this->createJsonResponse(['link' => $url]); }