php-openID不适用于Yahoo

时间:2010-04-11 05:21:24

标签: php openid janrain yahoo-oauth

我正在尝试使用php-openid库在我的网站中实现openID。 其包中的基本消费者示例不适用于Google和Yahoo。 我在这里找到了Google解决方案: Example usage of AX in PHP OpenID 但它仍不适用于雅虎! 。 我怎么能让它有效?

1 个答案:

答案 0 :(得分: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的条目。它导致在Yahoo的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');" 

现在它工作正常,并返回我们要求的两个提供商!!!

...洛尔