/** * Creates a signed JWT. * @param array $payload * @return string The signed JWT. */ private function makeSignedJwt($payload) { $header = array('typ' => 'JWT', 'alg' => 'RS256'); $segments = array(displetretsidx_Google_Utils::urlSafeB64Encode(json_encode($header)), displetretsidx_Google_Utils::urlSafeB64Encode(json_encode($payload))); $signingInput = implode('.', $segments); $signer = new displetretsidx_Google_P12Signer($this->privateKey, $this->privateKeyPassword); $signature = $signer->sign($signingInput); $segments[] = displetretsidx_Google_Utils::urlSafeB64Encode($signature); return implode(".", $segments); }