示例#1
0
 public function testGetPayload()
 {
     $jwt = "";
     $body = Akita_OpenIDConnect_Util_JOSE_JWT::getPayload($jwt);
     $this->assertEquals(false, $body);
     $jwt = "..";
     $body = Akita_OpenIDConnect_Util_JOSE_JWT::getPayload($jwt);
     $this->assertEquals(false, $body);
     $jwt = "eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.";
     $body = Akita_OpenIDConnect_Util_JOSE_JWT::getPayload($jwt);
     $expect_body = array('iss' => 'joe', 'exp' => 1300819380, 'http://example.com/is_root' => true);
     $this->assertNotEquals($expect_body, $body);
     $body = Akita_OpenIDConnect_Util_JOSE_JWT::getPayload($jwt, true);
     $expect_body = array('iss' => 'joe', 'exp' => 1300819380, 'http://example.com/is_root' => true);
     $this->assertEquals($expect_body, $body);
 }
示例#2
0
 /**
  * load ID Token String and return object
  *
  * @param string $idTokenString ID Token String
  * @return Akita_OpenIDConnect_Model_IDToken 
  */
 public static function loadTokenString($idTokenString)
 {
     $header = Akita_OpenIDConnect_Util_JOSE_JWT::getHeader($idTokenString);
     $payload = Akita_OpenIDConnect_Util_JOSE_JWT::getPayload($idTokenString, true);
     // validation
     if (is_array($header) && is_array($payload)) {
         $idTokenObj = new Akita_OpenIDConnect_Model_IDToken($header, $payload);
         $idTokenObj->setTokenString($idTokenString);
         return $idTokenObj;
     } else {
         throw new Exception('InvalidTokenFormat');
     }
 }