2010-04-11 109 views
8

我正嘗試在我的站點中使用php-openid庫來實現openID。 其包裝內的基本消費者示例不適用於Google和Yahoo。 我在這裏找到了Google的解決方案: Example usage of AX in PHP OpenID 但它不適用於Yahoo! 。 我該如何做到這一點?php-openID不能與雅虎合作

+0

沒有答案??幫助是非常需要的。 – 2010-04-12 04:39:26

回答

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');" 

和現在的工作很好,返回無論我從兩個供應商要求的!

哈哈...