2013-02-23 3 views
1

Я использую библиотеку 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'); 

Любая помощь будет принята с благодарностью, спасибо заранее.

+0

Вы не передаете аргумент конструктору, который указывает, что вы используете старую версию библиотеки. Попробуйте [новейший] (https://gitorious.org/lightopenid/lightopenid/blobs/master/openid.php), он может исправить вашу проблему. – Mewp

ответ

0

У меня была та же проблема. После того, как мой мозг попытался это исправить, я понял, что проблема, по-видимому, вызвана добавлением $openid->required = array('contact/email');

Удалить или прокомментировать эту строку, она начнет работать снова. Почему я не уверен.

+0

Я нашел то же самое. Это действительно глупо, потому что, пока проверка не удалась, он вернет адрес электронной почты. В моей реализации не используется завиток, даже если он установлен. Из-за другой настройки, которая влияет на нее (которую я не могу изменить). Кто-нибудь сделал какой-то прогресс в этом вопросе? – user2908587

 Смежные вопросы

  • Нет связанных вопросов^_^