checkSignature($item[$signatureFieldName], $item[$idFieldName]); } } /** * @param string $signature * @param mixed $dataToSign data to be signed * * @throws SecurityException * @throws InconsistencyConfigException */ public function checkSignature($signature, ...$dataToSign) { if (empty($signature)) { throw new SecurityException('Empty signature'); } if (!is_string($signature)) { throw new SecurityException('Signature should be a string'); } if ($signature !== $this->getSignatureGenerator()->generate(...$dataToSign)) { throw new SecurityException('Invalid signature'); } } /** * @return SignatureGenerator */ private function getSignatureGenerator() { return ServiceManager::getServiceManager()->get(SignatureGenerator::class); } }