/** * @param array $payload * * @return string */ private function sign(array $payload) { $payload = array_merge($payload, $this->getAdditionalPayload()); $headers = $this->getSignatureHeaders(); $signature_key = $this->signature_jwkset->getKey(0); if ($signature_key->has('kid')) { $headers['kid'] = $signature_key->get('kid'); } return $this->jwt_creator->sign($payload, $headers, $signature_key); }