예제 #1
0
파일: processor.php 프로젝트: jvinet/pronto
} 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'])) {