$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']); } else { $session->error = 'Registration failed. Try another name.'; header('Location: ' . $_SERVER['PHP_SELF'] . '?openid.action=register'); } } exit; } else { if ($_POST['openid_action'] == 'trust') { if (isset($_GET['openid_return_to'])) { $sreg = new Zend_OpenId_Extension_Sreg(); $sreg->parseResponse($_POST); if (isset($_POST['allow'])) { if (isset($_POST['forever'])) { $server->allowSite($server->getSiteRoot($_GET), $sreg); } unset($_GET['openid_action']); $server->respondToConsumer($_GET, $sreg); } 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 {
/** * testing parseResponse * */ public function testParseResponse() { $ext = new Zend_OpenId_Extension_Sreg(); $this->assertTrue($ext->parseResponse(array())); $this->assertSame(array(), $ext->getProperties()); $this->assertSame(null, $ext->getPolicyUrl()); $this->assertSame(1.0, $ext->getVersion()); $this->assertTrue($ext->parseResponse(array('openid_sreg_nickname' => self::USER, 'openid_sreg_email' => self::EMAIL))); $this->assertSame(array('nickname' => self::USER, 'email' => self::EMAIL), $ext->getProperties()); $this->assertSame(null, $ext->getPolicyUrl()); $this->assertSame(1.0, $ext->getVersion()); $this->assertTrue($ext->parseResponse(array('openid_sreg_nickname' => self::USER, 'openid_sreg_email' => self::EMAIL, 'openid_sreg_policy_url' => self::POLICY))); $this->assertSame(array('nickname' => self::USER, 'email' => self::EMAIL), $ext->getProperties()); $this->assertSame(null, $ext->getPolicyUrl()); $this->assertSame(1.0, $ext->getVersion()); $this->assertTrue($ext->parseResponse(array('openid_ns_sreg' => "http://openid.net/extensions/sreg/1.1", 'openid_sreg_nickname' => self::USER, 'openid_sreg_email' => self::EMAIL))); $this->assertSame(array('nickname' => self::USER, 'email' => self::EMAIL), $ext->getProperties()); $this->assertSame(null, $ext->getPolicyUrl()); $this->assertSame(1.1, $ext->getVersion()); }