/** * testing getSiteRoot * */ public function testGetSiteRoot() { $storage = new Zend_OpenId_Provider_Storage_File(dirname(__FILE__) . "/_files/provider"); $provider = new Zend_OpenId_Provider(null, null, $this->_user, $storage); $params = array('openid_realm' => "http://wrong/", 'openid_trust_root' => "http://root/", 'openid_return_to' => "http://wrong/"); $this->assertSame("http://root/", $provider->getSiteRoot($params)); $params = array('openid_realm' => "http://wrong/", 'openid_return_to' => "http://root/"); $this->assertSame("http://root/", $provider->getSiteRoot($params)); $params = array('openid_realm' => "http://wrong/"); $this->assertFalse($provider->getSiteRoot($params)); $params = array('openid_ns' => Zend_OpenId::NS_2_0, 'openid_realm' => "http://root/", 'openid_trust_root' => "http://wrong/", 'openid_return_to' => "http://wrong/"); $this->assertSame("http://root/", $provider->getSiteRoot($params)); $params = array('openid_ns' => Zend_OpenId::NS_2_0, 'openid_trust_root' => "http://wrong/", 'openid_return_to' => "http://root/"); $this->assertSame("http://root/", $provider->getSiteRoot($params)); $params = array('openid_ns' => Zend_OpenId::NS_2_0, 'openid_return_to' => "http://root/"); $this->assertSame("http://root/", $provider->getSiteRoot($params)); $params = array('openid_ns' => Zend_OpenId::NS_2_0); $this->assertFalse($provider->getSiteRoot($params)); $params = array('openid_trust_root' => ""); $this->assertFalse($provider->getSiteRoot($params)); }
} else { if ($_GET['openid_action'] == 'logout') { $server->logout(); header('Location: ' . $_SERVER['PHP_SELF']); exit; } else { if ($_GET['openid_action'] == 'login') { if (isset($_GET['openid_identity'])) { $view->id = $_GET['openid_identity']; $view->ro = true; } $ret = $view->render('login.phtml'); } else { if ($_GET['openid_action'] == 'trust') { if ($server->getLoggedInUser() !== false) { $view->site = $server->getSiteRoot($_GET); $view->url = $server->getLoggedInUser(); $sreg = new Zend_OpenId_Extension_Sreg(); $sreg->parseRequest($_GET); $view->sreg = sreg_form($sreg); if ($server->hasUser($view->url)) { $ret = $view->render('trust.phtml'); } } } } } } } } else { if (isset($_GET['openid'])) {
$server = new Zend_OpenId_Provider(null, null, $session, $storage); if (OCP\User::isLoggedIn() and !$session->getLoggedInUser()) { $session->setLoggedInUser(OCP\Util::linkToAbsolute('', '?') . OCP\User::getUser()); } if (isset($_GET['openid_action']) and $_GET['openid_action'] == 'login') { unset($_GET['openid_action']); $params = '?' . Zend_OpenId::paramsToQuery($_GET); $next = OCP\Util::linkToRemote('openid_provider') . $params; $loginPage = OCP\Util::linkToAbsolute('', 'index.php') . '?redirect_url=' . urlencode($next); header('Location: ' . $loginPage); } else { if (isset($_GET['openid_action']) and $_GET['openid_action'] == 'trust') { OCP\User::checkLoggedIn(); if (isset($_POST['allow'])) { if (isset($_POST['forever'])) { $server->allowSite($server->getSiteRoot($_GET)); } $server->respondToConsumer($_GET); } else { if (isset($_POST['deny'])) { if (isset($_POST['forever'])) { $server->denySite($server->getSiteRoot($_GET)); } Zend_OpenId::redirect($_GET['openid_return_to'], array('openid.mode' => 'cancel')); } else { $tmpl = new OCP\Template('user_openid_provider', 'trust', 'user'); $tmpl->assign('site', $server->getSiteRoot($_GET)); $tmpl->assign('openid', $server->getLoggedInUser()); $tmpl->printPage(); } }