Пример #1
0
 /**
  * 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));
 }
Пример #2
0
         } 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'])) {
Пример #3
0
$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();
            }
        }