key = $key; $this->callable = $callable; } /** * @param mixed $value * * @throws InvalidClaimException if the claim is invalid */ public function checkClaim($value): void { $callable = $this->callable; $isValid = $callable($value); if (!$isValid) { throw new InvalidClaimException(sprintf('Invalid claim "%s"', $this->key), $this->key, $value); } } public function supportedClaim(): string { return $this->key; } /** * {@inheritdoc} */ public function checkHeader($value): void { $callable = $this->callable; $isValid = $callable($value); if (!$isValid) { throw new InvalidHeaderException(sprintf('Invalid header "%s"', $this->key), $this->key, $value); } } public function supportedHeader(): string { return $this->key; } public function protectedHeaderOnly(): bool { return true; } }