예제 #1
0
파일: JWS.php 프로젝트: jcwatson11/JOSE4PHP
 /**
  * @param IJOSEHeader $header
  * @param IJWSPayloadSpec $payload
  * @param string $signature
  * @throws JWSNotSupportedAlgorithm
  */
 protected function __construct(IJOSEHeader $header, IJWSPayloadSpec $payload = null, $signature = '')
 {
     $claim_set = null;
     if (!is_null($payload) && $payload->isClaimSet() && $payload instanceof IJWSPayloadClaimSetSpec) {
         $header->addHeader(new JOSEHeaderParam(RegisteredJOSEHeaderNames::Type, new StringOrURI('JWT')));
         $claim_set = $payload->getClaimSet();
     }
     parent::__construct($header, $claim_set);
     if (!is_null($payload)) {
         $this->setPayload($payload);
     }
     $this->signature = $signature;
 }
예제 #2
0
파일: JWT.php 프로젝트: smarcet/jose4php
 /**
  * @return array
  */
 public function take()
 {
     $payload = $this->header->getType()->getString() === 'JWT' ? $this->claim_set : '';
     return array($this->header, $payload, $this->signature);
 }
예제 #3
0
 public static function serialize(IJOSEHeader $header)
 {
     $json = $header->toJson();
     return JWTRawSerializer::serialize($json);
 }