/** * Signs the data * * @param Signer $signer * @param string $key * * @return Builder */ public function sign(Signer $signer, $key) { $signer->modifyHeader($this->headers); $this->signature = $signer->sign($this->getToken()->getPayload(), $key); return $this; }
/** * Verify if the key matches with the one that created the signature * * @param Signer $signer * @param string $key * * @return boolean * * @throws BadMethodCallException When token is not signed */ public function verify(Signer $signer, $key) { if ($this->signature === null) { throw new BadMethodCallException('This token is not signed'); } if ($this->headers['alg'] !== $signer->getAlgorithmId()) { return false; } return $this->signature->verify($signer, $this->getPayload(), $key); }