public function createToken(Request $request, $providerKey)
 {
     $jwt = $request->query->get('jwt');
     if (!$jwt && $this->kernel->getEnvironment() == 'dev') {
         $tenant = $this->em->getRepository('AtlassianConnectBundle:Tenant')->find(1);
         $clientKey = $tenant->getClientKey();
         $sharedSecret = $tenant->getSharedSecret();
         $qshHelper = new QSH();
         $qsh = $qshHelper->create('GET', $request->getRequestUri());
         $payload = ['iss' => $clientKey, 'iat' => time(), 'exp' => time() + 86400, 'qsh' => $qsh, 'sub' => 'admin'];
         $jwt = JWT::encode($payload, $sharedSecret);
     }
     if (!$jwt) {
         throw new BadCredentialsException('No JWT token found');
     }
     return new PreAuthenticatedToken('anon.', $jwt, $providerKey);
 }
 private function buildAuthHeader($method, $restUrl)
 {
     $token = $this->buildPayload($method, $restUrl);
     $jwt = JWT::encode($token, $this->tenant->getSharedSecret());
     return ['Authorization' => 'JWT ' . $jwt];
 }