예제 #1
0
 /**
  * tearDown 
  * 
  * @return void
  */
 public function tearDown()
 {
     OpenID_Discover::$discoveryOrder = array(0 => OpenID_Discover::TYPE_YADIS, 10 => OpenID_Discover::TYPE_HTML);
     OpenID_Discover_Mock::$opEndpoint = null;
     $this->discover = null;
     $this->authRequest = null;
 }
예제 #2
0
파일: discovery.php 프로젝트: shupp/openid
/**
 * getServiceContent 
 * 
 * @param mixed $identifier Identifier
 * @param bool  $skipcache  Whether or not to skip cache
 * 
 * @access public
 * @return void
 */
function getServiceContent($identifier, $skipcache)
{
    $content = null;
    if (!$skipcache) {
        $store = OpenID::getStore();
        $d = $store->getDiscover($identifier);
        if ($d === false) {
            $d = new OpenID_Discover($identifier);
            try {
                $result = $d->discover();
                if ($result === false) {
                    $content = 'Discovery failed';
                    return $content;
                }
                $store->setDiscover($d);
            } catch (OpenID_Exception $e) {
                return get_class($e) . ': ' . $e->getMessage();
            }
        } else {
            $cache = true;
        }
    } else {
        $d = new OpenID_Discover($identifier);
        try {
            $result = $d->discover();
            if ($result === false) {
                $content = 'Discovery failed';
                return $content;
            }
        } catch (OpenID_Exception $e) {
            return get_class($e) . ': ' . $e->getMessage();
        }
    }
    $content = array();
    if (!empty($cache)) {
        $content['cached'] = true;
    }
    $content['OpenID_Discover'] = $d->services;
    $extensions = array('OAuth', 'AX', 'SREG11', 'UI');
    $supported = array();
    foreach ($extensions as $extension) {
        $supported[$extension] = $d->extensionSupported($extension);
    }
    $content['Extensions Supported'] = $supported;
    return $content;
}
예제 #3
0
파일: Discover.php 프로젝트: shupp/openid
 /**
  * Static helper method for retrieving discovered information from cache if it
  * exists, otherwise executing discovery and storing results if they are 
  * positive.
  * 
  * @param string       $id    URI Identifier to discover
  * @param OpenID_Store $store Instance of OpenID_Store
  * 
  * @return OpenID_Discover|false OpenID_Discover on success, false on failure
  */
 public static function getDiscover($id, OpenID_Store_Interface $store)
 {
     $discoverCache = $store->getDiscover($id);
     if ($discoverCache instanceof OpenID_Discover) {
         return $discoverCache;
     }
     $discover = new OpenID_Discover($id);
     $result = $discover->discover();
     if ($result === false) {
         // @codeCoverageIgnoreStart
         return false;
         // @codeCoverageIgnoreEnd
     }
     $expireTime = null;
     if ($discover->services->getExpiresHeader()) {
         $expireTime = strtotime($discover->services->getExpiresHeader()) - time();
     }
     $store->setDiscover($discover, $expireTime);
     return $discover;
 }
예제 #4
0
파일: Assertion.php 프로젝트: shupp/openid
 /**
  * Gets an instance of OpenID_Discover.  Abstracted for testing.
  * 
  * @param string $identifier OpenID Identifier
  * 
  * @return OpenID_Discover|false 
  */
 protected function getDiscover($identifier)
 {
     return OpenID_Discover::getDiscover($identifier, self::getStore());
 }
예제 #5
0
 /**
  * Gets discovered information from cache if it exists, otherwise performs
  * discovery.
  * 
  * @throws OpenID_Exception if discovery fails
  * @see OpenID_Discover::getDiscover()
  * @return OpenID_Discover
  */
 protected function getDiscover()
 {
     $discover = OpenID_Discover::getDiscover($this->normalizedID, $this->getStore());
     if (!$discover instanceof OpenID_Discover) {
         // @codeCoverageIgnoreStart
         throw new OpenID_Exception('Unable to discover OP Endpoint URL');
         // @codeCoverageIgnoreEnd
     }
     return $discover;
 }