私は自分のサイトにopenIDを実装するためにphp-openidライブラリを使用しようとしています。パッケージ内の基本的な消費者の例は、GoogleとYahooでは機能しません。ここでGoogleのソリューションを見つけました: PHP OpenIDでのAXの使用例です が、Yahoo!ではまだ機能しません。。どうすればそれを機能させることができますか?
1941 次
1 に答える
9
うわーそれは今解決されました!!!!!
私は関数を追跡し、問題を発見しました.そしてそれは....私が使用した「try_auth.php」ファイル
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
プロバイダーからユーザーの電子メールを取得するため。Google では '2' (要求された電子メール アドレスの数) を無視するため、Google では問題なく動作しますが、Yahoo! では問題なく動作します。[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');"
現在は正常に動作し、両方のプロバイダーから要求したものを返します!!!
笑...
于 2010-04-12T07:50:16.453 に答える