Zend_OpenId с Codeigniter - PullRequest
       16

Zend_OpenId с Codeigniter

0 голосов
/ 29 сентября 2010

Я использую библиотеку OpenId из Zend с CodeIgniter, и все работает отлично, кроме функции проверки.

$status = "";
if (isset($_POST['openid_action']) &&
    $_POST['openid_action'] == "login" &&
    !empty($_POST['openid_identifier'])) {

    $consumer = new Zend_OpenId_Consumer();
    if (!$consumer->login($_POST['openid_identifier'])) {
        $status = "OpenID login failed.";
    }
} else if (isset($_GET['openid_mode'])) {
    if ($_GET['openid_mode'] == "id_res") {
        $consumer = new Zend_OpenId_Consumer();
        if ($consumer->verify($_GET, $id)) {
            $status = "VALID " . htmlspecialchars($id);
        } else {
            $status = "INVALID " . htmlspecialchars($id);
        }
    } else if ($_GET['openid_mode'] == "cancel") {
        $status = "CANCELLED";
    }
}

Библиотеке Openid требуется сеанс Zend для запуска, поэтому я также включил эту библиотеку.Я могу: ввести openid, перенаправить на «openid-provider», проверить там и перенаправить обратно.

Однако я не могу получить 'openid_mode', поэтому я не могу«проверить» информацию.Я не понимаю, что я делаю не так.Это чисто, что эта библиотека не будет работать с CI без какого-либо тяжелого взлома?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2010

Система Zend OpenId имеет недостатки во многих отношениях (она не работает с Google, Yahoo и т. Д.).Я думаю, что с этой библиотекой вам будет лучше: http://www.janrain.com/openid-enabled

0 голосов
/ 29 сентября 2010
...