} } else { $ret = $view->render('login.phtml'); } } } } } } else { if ($_SERVER["REQUEST_METHOD"] == "POST") { if (!isset($_POST['openid_action']) && isset($_POST['openid_mode'])) { $ret = $server->handle($_POST, new Zend_OpenId_Extension_Sreg()); } else { if (isset($_POST['openid_action'])) { if ($_POST['openid_action'] == 'login' && isset($_POST['openid_url']) && isset($_POST['openid_password'])) { if (!$server->login($_POST['openid_url'], $_POST['openid_password'])) { $session->error = 'Wrong identity/password!'; $session->id = $_POST['openid_url']; } unset($_GET['openid_action']); Zend_OpenId::redirect($_SERVER['PHP_SELF'], $_GET); } else { if ($_POST['openid_action'] == 'register' && isset($_POST['openid_name']) && isset($_POST['openid_password']) && isset($_POST['openid_password2'])) { $url = Zend_OpenId::selfURL() . '?openid=' . $_POST['openid_name']; if ($_POST['openid_password'] != $_POST['openid_password2']) { $session->name = $_POST['openid_name']; $session->error = 'Password mismatch.'; header('Location: ' . $_SERVER['PHP_SELF'] . '?openid.action=register'); } else { if ($server->register($url, $_POST['openid_password'])) { header('Location: ' . $_SERVER['PHP_SELF'] . '?openid.action=registration_complete&openid.name=' . $_POST['openid_name']);
/** * testing getTrustedSites * */ public function testGetTrustedSites() { $storage = new Zend_OpenId_Provider_Storage_File(dirname(__FILE__) . "/_files/provider"); $storage->delUser(self::USER); $this->_user->delLoggedInUser(); $provider = new Zend_OpenId_Provider(null, null, $this->_user, $storage); $sreg = new Zend_OpenId_Extension_Sreg(array("nickname" => "test_id")); $this->assertTrue($provider->register(self::USER, self::PASSWORD)); $this->assertTrue($provider->login(self::USER, self::PASSWORD)); $this->assertTrue($provider->allowSite("http://www.test1.com/")); $this->assertTrue($provider->allowSite("http://www.test2.com/", $sreg)); $this->AssertSame(array('http://www.test1.com/' => true, 'http://www.test2.com/' => array('Zend_OpenId_Extension_Sreg' => array('nickname' => 'test_id'))), $provider->getTrustedSites()); $this->_user->delLoggedInUser(); $this->AssertFalse($provider->getTrustedSites()); $storage->delUser(self::USER); }