} else { if (!defined('OPENID_URL') && isset($_POST['openid_identifier'])) { define('OPENID_URL', $_POST['openid_identifier']); } } // Maximum number of requests to allow without a OPENID_THROTTLE_GAP second // gap between two of them if (!defined('OPENID_THROTTLE_NUM')) { define('OPENID_THROTTLE_NUM', 3); } // Time to require between requests before the request counter is reset if (!defined('OPENID_THROTTLE_GAP')) { define('OPENID_THROTTLE_GAP', 30); } // Whether or not to use the key manager define('KEYMANAGER', !defined('OPENID_NOKEYMANAGER') && KeyManager::isSupported()); /** * Processes the current request. */ function openid_process() { if (defined('OPENID_URL')) { // Initial authentication attempt (they just entered their identifier) $reqs = checkRequests(); $disc = tryDiscovery(OPENID_URL); $_SESSION['openid'] = array('identity' => $disc->getIdentity(), 'delegate' => $disc->getDelegate(), 'validated' => false, 'server' => $disc->getServer(), 'nonce' => uniqid(microtime(true), true), 'requests' => $reqs); $handle = getHandle($disc->getServer()); $url = URLBuilder::buildRequest(defined('OPENID_IMMEDIATE') ? 'immediate' : 'setup', $disc->getServer(), $disc->getDelegate(), $disc->getIdentity(), URLBuilder::getCurrentURL(), $handle); URLBuilder::doRedirect($url); } else { if (isset($_REQUEST['openid_mode'])) {