php-openID不适用于Yahoo

hd.*_*hd. 8 php openid janrain yahoo-oauth

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

hd.*_*hd. 9

哇它现在解决了!!!!!

我跟踪了这​​些函数并找到了问题.那就是我在使用的"try_auth.php"文件中....

"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');" 
Run Code Online (Sandbox Code Playgroud)

从提供商处获取用户电子邮件.它适用于谷歌,因为谷歌忽略'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');"
Run Code Online (Sandbox Code Playgroud)

"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',1,1, 'email');" 
Run Code Online (Sandbox Code Playgroud)

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

大声笑...