php-openid لا يعمل مع Yahoo
-
26-09-2019 - |
سؤال
أحاول استخدام مكتبة PHP-OpenId لتنفيذ OpenID في موقعي. لا يعمل مثال المستهلك الأساسي داخل حزمةه مع Google و Yahoo. لقد وجدت حل Google هنا:مثال استخدام الفأس في php openidلكنه لا يزال يعمل لصالح ياهو! . كيف يمكنني جعلها تعمل؟
المحلول
واو تم حله الآن !!!!!
لقد تتبعت الوظائف ووجدت المشكلة. وهذا هو .... في ملف "try_auth.php" الذي استخدمته
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
للحصول على البريد الإلكتروني للمستخدم من مزود. إنه يعمل بشكل جيد في Google لأن Google تتجاهل "2" (عدد عنوان البريد الإلكتروني المطلوب) ولكن في Yahoo! يولد [count.email] => 2 لذلك (في وظيفة getSignedNs) وفي استجابة Yahoo لا يوجد إدخال لل count.email. يسبب عودة لاغية في getSignedns ل yahoo. لقد تغيرت
"$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');"
وهو يعمل بشكل جيد الآن ويعود كل ما طلبته من كل من المزود !!!
الضحك بصوت مرتفع...
لا تنتمي إلى StackOverflow