我正在使用 LightOpenID 库尝试通过 OpenID 注册用户。除了 validate() 总是失败之外,一切似乎都适用于 Google 身份验证。我正在转储 $openid 并且所有数据似乎都井井有条,尽管 validate() 仍然失败。
我在 Google Apps 上看到过 LightOpenID validate() fail这个问题,但我的问题略有不同,因为我确定响应不是未找到服务器,而是服务器出于某种原因响应 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');
任何帮助将不胜感激,在此先感谢。