getHeader() public method

public getHeader ( ) : Header
return Emarref\Jwt\Token\Header
コード例 #1
0
ファイル: Jws.php プロジェクト: emarref/jwt
 public function getUnsignedValue(Token $token)
 {
     $jsonHeader = $token->getHeader()->getParameters()->jsonSerialize();
     $encodedHeader = $this->encoder->encode($jsonHeader);
     $jsonPayload = $token->getPayload()->getClaims()->jsonSerialize();
     $encodedPayload = $this->encoder->encode($jsonPayload);
     return sprintf('%s.%s', $encodedHeader, $encodedPayload);
 }
コード例 #2
0
ファイル: EncryptionVerifier.php プロジェクト: emarref/jwt
 /**
  * @param Token $token
  * @throws InvalidSignatureException
  */
 public function verify(Token $token)
 {
     /** @var HeaderParameter\Algorithm $algorithmParameter */
     $algorithmParameter = $token->getHeader()->findParameterByName(HeaderParameter\Algorithm::NAME);
     if (null === $algorithmParameter) {
         throw new \RuntimeException('Algorithm parameter not found in token header.');
     }
     if ($algorithmParameter->getValue() !== $this->encryption->getAlgorithmName()) {
         throw new \RuntimeException(sprintf('Cannot use "%s" algorithm to decrypt token encrypted with algorithm "%s".', $this->encryption->getAlgorithmName(), $algorithmParameter->getValue()));
     }
     if (!$this->encryption->verify($this->signer->getUnsignedValue($token), $token->getSignature())) {
         throw new InvalidSignatureException();
     }
 }
コード例 #3
0
ファイル: Compact.php プロジェクト: KirillVladimirov/jwt
 /**
  * @param Token $token
  * @return string
  */
 public function serialize(Token $token)
 {
     $serializedHeader = $token->getHeader()->getParameters()->jsonSerialize();
     $serializedPayload = $token->getPayload()->getClaims()->jsonSerialize();
     $signature = $token->getSignature();
     return sprintf('%s.%s.%s', $this->encoding->encode($serializedHeader), $this->encoding->encode($serializedPayload), $this->encoding->encode($signature));
 }