Я использую библиотеку LightOpenID, чтобы попытаться зарегистрировать пользователя через OpenID. Кажется, что все работает отлично для аутентификации Google, за исключением того, что validate() всегда терпит неудачу. Я демпинг $ openid, и все данные, похоже, в порядке, хотя все же, validate() терпит неудачу.OpenID/LightOpenID: validate() failure
Я видел этот вопрос LightOpenID validate() fail on Google Apps, но моя проблема несколько отличается, поскольку я решил, что ответ не является сервером, который не найден, но сервер почему-то отвечает is_valid: false. Почему это может быть?
Вот как я буду об этом (в Laravel):
// testing with Google
try {
$openid = new LightOpenID();
if (!$openid->mode) {
$openid->required = array('contact/email');
$openid->identity = 'https://www.google.com/accounts/o8/id';
return Redirect::to($openid->authURL());
} else if ($openid->mode == "cancel") {
echo "User has canceled authentication.";
} else {
$attributes = $openid->getAttributes();
// debugging
echo ($openid->validate()) ? "Logged in " : "Not logged in ";
?><pre><?php echo var_dump($openid);?></pre><pre><?php
echo var_dump($attributes);?></pre><?php
}
} catch (ErrorException $e) {
echo $e->getMessage();
}
return View::make('home.index');
Любая помощь будет принята с благодарностью, спасибо заранее.
Вы не передаете аргумент конструктору, который указывает, что вы используете старую версию библиотеки. Попробуйте [новейший] (https://gitorious.org/lightopenid/lightopenid/blobs/master/openid.php), он может исправить вашу проблему. – Mewp