addHeader() public méthode

public addHeader ( Emarref\Jwt\HeaderParameter\ParameterInterface $parameter, boolean $critical = false )
$parameter Emarref\Jwt\HeaderParameter\ParameterInterface
$critical boolean
Exemple #1
0
 public function sign(Token $token)
 {
     $token->addHeader(new Algorithm($this->encryption->getAlgorithmName()));
     $rawSignature = $this->getUnsignedValue($token);
     $signature = $this->encryption->encrypt($rawSignature);
     $token->setSignature($signature);
 }
Exemple #2
0
 protected static function authorization()
 {
     $token = new Emarref\Jwt\Token();
     $parameter = new Emarref\Jwt\HeaderParameter\Custom('typ', 'JWT');
     $token->addHeader($parameter, true);
     $token->addClaim(new Emarref\Jwt\Claim\Expiration(new \DateTime(self::$duration)));
     $jwt = new Emarref\Jwt\Jwt();
     $algorithm = new Emarref\Jwt\Algorithm\Hs256(self::$appSecret);
     $encryption = Emarref\Jwt\Encryption\Factory::create($algorithm);
     $serializedToken = $jwt->serialize($token, $encryption);
     return $serializedToken;
 }
Exemple #3
0
 /**
  * @param string $jwt
  * @return Token
  */
 public function deserialize($jwt)
 {
     $token = new Token();
     list($encodedHeader, $encodedPayload, $encodedSignature) = explode('.', $jwt);
     $decodedHeader = $this->encoding->decode($encodedHeader);
     $decodedPayload = $this->encoding->decode($encodedPayload);
     $decodedSignature = $this->encoding->decode($encodedSignature);
     foreach ($this->parseHeaders($decodedHeader) as $header) {
         $token->addHeader($header);
     }
     foreach ($this->parsePayload($decodedPayload) as $claim) {
         $token->addClaim($claim);
     }
     $token->setSignature($decodedSignature);
     return $token;
 }
Exemple #4
0
 /**
  * @param string $jwt
  *
  * @return Token
  * @throws \InvalidArgumentException
  */
 public function deserialize($jwt)
 {
     $token = new Token();
     if (empty($jwt)) {
         throw new \InvalidArgumentException('Not a valid JWT string passed for deserialization');
     }
     list($encodedHeader, $encodedPayload, $encodedSignature) = array_pad(explode('.', $jwt, 3), 3, null);
     $decodedHeader = $this->encoding->decode($encodedHeader);
     $decodedPayload = $this->encoding->decode($encodedPayload);
     $decodedSignature = $this->encoding->decode($encodedSignature);
     foreach ($this->parseHeaders($decodedHeader) as $header) {
         $token->addHeader($header);
     }
     foreach ($this->parsePayload($decodedPayload) as $claim) {
         $token->addClaim($claim);
     }
     $token->setSignature($decodedSignature);
     return $token;
 }