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); }
/** * 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'); } }