Я использую библиотеку 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 без какого-либо тяжелого взлома?