diff options
-rw-r--r-- | Auth/OpenID/HTTPFetcher.php | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/Auth/OpenID/HTTPFetcher.php b/Auth/OpenID/HTTPFetcher.php deleted file mode 100644 index afe3ae5..0000000 --- a/Auth/OpenID/HTTPFetcher.php +++ /dev/null @@ -1,170 +0,0 @@ -<?php -/** - * This module contains the HTTP fetcher interface - * - * PHP versions 4 and 5 - * - * LICENSE: See the COPYING file included in this distribution. - * - * @package OpenID - * @author JanRain, Inc. <openid@janrain.com> - * @copyright 2005 Janrain, Inc. - * @license http://www.gnu.org/copyleft/lesser.html LGPL - */ - -/** - * Require the parser and OpenID util functions. - */ -require_once "Auth/OpenID/Parse.php"; -require_once "Auth/OpenID.php"; - -/** - * An HTTP response descriptor returned by all fetcher methods. - * - * @package OpenID - */ -class Auth_OpenID_HTTPResponse { - function Auth_OpenID_HTTPResponse($final_url = null, $status = null, - $headers = null, $body = null) - { - $this->final_url = $final_url; - $this->status = $status; - $this->headers = $headers; - $this->body = $body; - } -} - -/** - * This is the status code beginAuth returns when it is unable to - * fetch the OpenID URL the user entered. - */ -define('Auth_OpenID_HTTP_FAILURE', 'http failure'); - -/** - * The maximum allowed timeout for fetcher operations. - */ -define('Auth_OpenID_FETCHER_TIMEOUT', 20); - -/** - * This class is the interface for HTTP fetchers the OpenID consumer - * library uses. This interface is only important if you need to - * write a new fetcher for some reason. - * - * @access private - * @package OpenID - */ -class Auth_OpenID_HTTPFetcher { - - /** - * Allowed socket timeout in seconds. - */ - var $timeout = Auth_OpenID_FETCHER_TIMEOUT; - - /** - * Return whether a URL should be allowed. Override this method to - * conform to your local policy. - * - * By default, will attempt to fetch any http or https URL. - */ - function allowedURL($url) - { - return $this->URLHasAllowedScheme($url); - } - - /** - * Is this an http or https URL? - * - * @access private - */ - function URLHasAllowedScheme($url) - { - return (bool)preg_match('/^https?:\/\//i', $url); - } - - /** - * @access private - */ - function _findRedirect($headers) - { - foreach ($headers as $line) { - if (strpos($line, "Location: ") === 0) { - $parts = explode(" ", $line, 2); - return $parts[1]; - } - } - return null; - } - - /** - * This performs an HTTP get, following redirects along the way. - * - * @return array $tuple This returns a three-tuple on success. - * The first value is the http return code. The second value is - * the final url that was fetched, after following any redirects. - * The third value is the data that was retrieved from the site. - * If the fetch didn't succeed, return null. - */ - function get($url) - { - trigger_error("not implemented", E_USER_ERROR); - } - - /** - * This performs an HTTP post. If it makes sense, it will follow - * redirects along the way. - * - * @return array $tuple This returns a three-tuple on success. - * The first value is the http return code. The second value is - * the final url that was fetched, after following any redirects. - * The third value is the data that was retrieved from the site. - * If the fetch didn't succeed, return null. - */ - function post($url, $body) - { - trigger_error("not implemented", E_USER_ERROR); - } - - /** - * Retrieve the given URL and return the identity information - * contained therein. That is, perform OpenID discovery. - * - * @param string $identity_url The URL that the user entered - * - * @return array list($status, $info) The information parsed from - * the page or an error. If the status is {@link Auth_OpenID_SUCCESS}, - * the information returned is array($consumer_id, $server_id, - * $server_url). The $server_url is the OpenID server's URL. The - * consumer ID is the identifier by which the user should be known - * to the consumer. The server ID is the identifier by which the - * user should be known to the server. - */ - function findIdentityInfo($identity_url) - { - $url = Auth_OpenID::normalizeURL($identity_url); - $ret = @$this->get($url); - if ($ret === null) { - return array(Auth_OpenID_HTTP_FAILURE, null); - } - - list($http_code, $consumer_id, $data) = $ret; - if ($http_code != 200) { - return array(Auth_OpenID_HTTP_FAILURE, $http_code); - } - - $parser = new Auth_OpenID_Parse(); - - $link_attrs = $parser->parseLinkAttrs($data); - $server = $parser->findFirstHref($link_attrs, 'openid.server'); - $delegate = $parser->findFirstHref($link_attrs, 'openid.delegate'); - - if ($server === null) { - return array(Auth_OpenID_PARSE_ERROR, null); - } else { - $server_id = $delegate ? $delegate : $consumer_id; - $urls = array($consumer_id, $server_id, $server); - return array(Auth_OpenID_SUCCESS, $urls); - } - } -} - -?>
\ No newline at end of file |