/**
  * @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]);
 }