سؤال

أنا أستخدم البرنامج الإضافي sfOpenID لـ Symfony، والذي لا يدعم OpenID 2.0.وهذا يعني، على سبيل المثال، أن الأشخاص الذين يستخدمون Yahoo!لا يمكن لـ OpenID تسجيل الدخول إلى موقعي.

يوجد مكون إضافي OpenID 2.0 يعمل مع sfGuard، لكنني لا أستخدم sfGuard ولا أخطط لاستخدامه.بالإضافة إلى ذلك، يتطلب الأمر تثبيت إطار عمل Zend أيضًا، وهو أمر مبالغ فيه في السيناريو الخاص بي.

إذن لدي سؤالان حقًا:

  • هل هناك مكون إضافي OpenID آخر لـ Symfony يدعم OpenID 2.0؟
  • ما هو الاختراق المطلوب لجعل sfOpenID يدعم OpenID 2.0؟

أفترض أنه يمكنني دراسة مواصفات OpenID واختراقه بنفسي، ولكن بعد ذلك، أنا مبرمج كسول :)

هل كانت مفيدة؟

المحلول

أعتقد أنك قمت بتغطية جميع الخيارات المتاحة لك باستخدام sfOpenID وtaOpenIDsfGuardPlugin لمكونات Symfony الإضافية.

بدون دراسة مواصفات OpenID بالتفصيل، يمكنك تجربة إحدى مكتبات PHP (http://wiki.openid.net/Libraries) عن طريق إسقاطه في lib الخاص بك والاتصال بـ a sfUser, أو أيًا كان ما تستخدمه للمصادقة.توجد أيضًا مكتبة OpenID الممكنة (http://openidenabled.com/php-openid/) والذي لا يزال يستخدم PHP4 على الرغم من توافقه مع PHP5 إذا كنت تعديل مستوى الإبلاغ عن الأخطاء لاستبعاد بعض التحذيرات.

هناك بعض البرامج التعليمية التي تشرح كيفية تمكين OpenID على موقعك باستخدام PHP: http://www.saeven.net/openid.htm أو http://www.plaxo.com/api/openid_recipe.

والأفضل من ذلك، استخدام هذه المعرفة ل قم بإنشاء sfPlugin منه عقب ذلك مباشرة.

نصائح أخرى

هناك طريقة أسهل.تقدم JanRain OpenID (وفيسبوك) كخدمة http://rpxnow.com .أسهل/أسرع إلى حد كبير من الانتقال إلى المكتبات الأصلية.

كان لدي (وما زلت أواجه) نفس المشكلة.أولاً، لا توجد أي مكتبة php5 openid مكتملة الميزات.تم التخلي عن الجهاز الوحيد الذي تم شحنه مع Zend Framework.

لذلك إما أن تكتب كتابك الخاص (لا أوصي به، هناك الكثير من العمل)، أو تستخدم كتاب Zend (هذا ما أستخدمه).

تكمن المشكلة في أنه مدمج بشكل كبير في Zend ويتطلب الكثير من عناصر ZF.

ربما سأقوم بنشر مكون إضافي مشابه لـ taOpenIDsfGuardPlugin ولكن للاستخدام بدون sfGuard، لأنه غالبًا ما يُطلب (وسأحتاجه لمشاريعي المستقبلية؛))

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top