public function testGetHeader() { $jwt = ""; $header = Akita_OpenIDConnect_Util_JOSE_JWT::getHeader($jwt); $this->assertEquals(false, $header); $jwt = ".."; $header = Akita_OpenIDConnect_Util_JOSE_JWT::getHeader($jwt); $this->assertEquals(false, $header); $jwt = "eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ."; $header = Akita_OpenIDConnect_Util_JOSE_JWT::getHeader($jwt); $expect_header = array('alg' => 'none'); $this->assertEquals($expect_header, $header); }
/** * 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'); } }