سؤال

لديّ تطبيق 2.3.5 مع واجهة برمجة تطبيقات أود حمايتها.

لا يوجد مستخدم - إنه تطبيق لخدمة WebS -Style App (مثل خدمة Amazon أكثر من Facebook) ، ولذا أود تنفيذه باستخدام نهج OAuth ذو أرجل.

لقد كنت أحاول استخدام تطبيق خادم Oauth-Plugin كبداية:

http://github.com/pelle/oauth-plugin

... ولكن تم بناؤه يتوقع ثلاثة أرجل (تدفق إعادة توجيه الويب) OAUTH.

قبل أن أتعمق في إجراء تغييرات عليها لدعم اثنين من الساقين ، أردت أن أرى ما إذا كانت هناك طريقة أسهل ، أو إذا كان لدى شخص ما مقاربة أفضل لتطبيق Rails لتنفيذ مزود OAUTH ذي الساقين.

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

المحلول

في السابق ، كانت الإجابة الجيدة الوحيدة هي الاختيار في Oauth-Plugin للحصول على هذه المجموعة الفرعية من تفاعل Oauth. منذ ذلك الحين ، تم إعادة تمثيل Oauth-plugin ، والآن يمكنك استخدامه بشكل مستقيم ، فقط عن طريق إضافة النوع الصحيح من مرشح المصادقة إلى وحدة التحكم الخاصة بك:

class ApiController < ApplicationController

    include OAuth::Controllers::ApplicationControllerMethods

    oauthenticate :strategies => :two_legged, :interactive => false

    # ...

end

نصائح أخرى

لست على دراية بأي بدائل لـ Oauth-Plugin في الوقت الحالي ، على الرغم من أنها بالتأكيد تتوق إلى الأسنان ونضجها لاستبدالها. توصيتي هي إنشاء خادم OAUTH من OAUTH-Plugin ، ثم استخراج التبعيات من البرنامج المساعد (والتي ليست سوى وحدات زوجين من الطرق) وقمامة المكون الإضافي. ثم قم بتعديل كل شيء لاحتياجاتك. يجب ألا يكون Oauth ذو الساقين مشكلة كبيرة لأنها أبسط من 3 أرجل على أي حال ، وشعوري هو أن Oauth-Plugin غير قابل للاستخدام هذه الأيام دون تعديلات كبيرة على أي حال.

لطالما تم استخراج لحم Oauth في جوهرة Oauth على أي حال ، وبالتالي فإن Oauth-plugin هو نوع من النسيان. تقوم الهندسة المعمارية ببعض الافتراضات الثقيلة حول نظام المصادقة الذي تستخدمه ، ويؤرخ الرمز الذي تم إنشاؤه. بالنسبة لي ، فإن Oauth-Plugin بمثابة مثال على كيفية توصيل كل شيء بدلاً من شيء تريد معظم المواقع استخدامه خارج الصندوق.

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