private function getInputToVerify(Object\JWSInterface $jws, Object\SignatureInterface $signature, $detached_payload)
{
$encoded_protected_headers = $signature->getEncodedProtectedHeaders();
if (!$signature->hasProtectedHeader('b64') || true === $signature->getProtectedHeader('b64')) {
if (null !== $jws->getEncodedPayload($signature)) {
return sprintf('%s.%s', $encoded_protected_headers, $jws->getEncodedPayload($signature));
}
$payload = empty($jws->getPayload()) ? $detached_payload : $jws->getPayload();
$payload = is_string($payload) ? $payload : json_encode($payload);
return sprintf('%s.%s', $encoded_protected_headers, Base64Url::encode($payload));
}
$payload = empty($jws->getPayload()) ? $detached_payload : $jws->getPayload();
$payload = is_string($payload) ? $payload : json_encode($payload);
return sprintf('%s.%s', $encoded_protected_headers, $payload);
}