我正在尝试使用 php-openid 库在我的网站中实现 openID。其软件包中的基本消费者示例不适用于 Google 和 Yahoo。我在这里找到了 Google 解决方案: Example usage of AX in PHP OpenID 但它仍然不适用于 Yahoo!. 我怎样才能让它工作?
问问题
1941 次
1 回答
9
哇现在解决了!!!!!!
我跟踪了函数并发现了问题。那就是....在我使用的“try_auth.php”文件中
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
用于从提供商处获取用户电子邮件。它在谷歌中运行良好,因为谷歌忽略了“2”(请求的电子邮件地址的计数),但在雅虎!它为它生成 [count.email] => 2(在 getSignedNS 函数中),并且在 Yahoo 响应中没有 count.email 条目。它导致在雅虎的 getSignedNS 中返回 null。我变了
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
到
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',1,1, 'email');"
它现在可以正常工作并返回我向两个提供商提出的要求!
哈哈...
于 2010-04-12T07:50:16.453 回答