OpenID/LightOpenID: validate() failure



我正在使用LightOpenID库尝试通过OpenID注册用户。除了validate((总是失败之外,谷歌身份验证似乎一切都很好。我正在转储$openid,所有的数据似乎都是有序的,尽管validate((仍然失败。

我在谷歌应用程序上看到这个问题LightOpenID validate((失败了,但我的问题略有不同,因为我已经确定响应不是找不到的服务器,但由于某种原因,服务器的响应是is_valid:ffalse。为什么会这样?

以下是我的做法(在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');

如有任何帮助,我们将不胜感激,并提前表示感谢。

我也遇到过同样的问题。在绞尽脑汁想办法解决这个问题后,我发现这个问题似乎是由$openid->required = array('contact/email');

删除或注释掉那一行,它将重新开始工作。为什么我不确定。

相关内容

  • 没有找到相关文章

最新更新