Returns the signature associated with the JWS.
public getSignatures ( ) : Jose\Object\SignatureInterface[] | ||
return | Jose\Object\SignatureInterface[] |
/** * @param \Jose\Object\JWSInterface $jws * @param array $data */ private static function populatePayload(JWSInterface &$jws, array $data) { $is_encoded = null; foreach ($jws->getSignatures() as $signature) { if (null === $is_encoded) { $is_encoded = self::isPayloadEncoded($signature); } Assertion::eq($is_encoded, self::isPayloadEncoded($signature), 'Foreign payload encoding detected. The JWS cannot be loaded.'); } if (array_key_exists('payload', $data)) { $payload = $data['payload']; $jws = $jws->withAttachedPayload(); $jws = $jws->withEncodedPayload($payload); if (false !== $is_encoded) { $payload = Base64Url::decode($payload); } $json = json_decode($payload, true); if (null !== $json && !empty($payload)) { $payload = $json; } $jws = $jws->withPayload($payload); } else { $jws = $jws->withDetachedPayload(); } }