تكوين تسجيل الدخول عبر Twitter ومميزات الربط الغنية لـ Discourse

لكي نكون منصفين تمامًا لفريق Discourse، يختلف هذا عن المشكلة في ديسمبر 2020. كان آخر منشور في تلك المشكلة المختلفة قبل المنشور الأول لـ @dnfoz هنا مباشرة، وكان منذ أكثر من عام. مشكلة @dnfoz نُشرت قبل 8 أيام فقط، وليس قبل أشهر. المشكلة هي أن تويتر يغير واجهة برمجة التطبيقات الخاصة به باستمرار لأنهم - بصراحة - ليس لديهم فكرة عما يستهدفونه بمنصتهم. لهذا السبب ستكون مشكلة واحدة قبل عام مختلفة تمامًا عن مشكلة، على سبيل المثال، قبل أسبوع، مع تويتر على وجه الخصوص. وإذا كانت هذه مشكلة قبل أشهر، فبخلاف الانتشار وقراءة الأفكار، كان عليك أو على شخص ما نشر شيء عنها حتى يعرفوا.

إعجابَين (2)

يبدو أنه يعمل باستثناء أنه عند التسجيل لا يملأ حقل البريد الإلكتروني تلقائيًا؟ هل أفعل شيئًا خاطئًا؟ يعمل مع تسجيل الدخول عبر Google الخاص بي، حيث يقوم بملء البريد الإلكتروني تلقائيًا.

إعجاب واحد (1)

انظر إلى مثال @dnfoz. الأمر يعود إلى حقيقة أن كل موفر SSO مختلف، مما يعني أن طريقة Google تختلف قليلاً عن Twitter، و Twitter هو من بين الأسوأ إن لم يكن الأسوأ. واجهة برمجة تطبيقات Twitter هي هدف متحرك لأن Twitter لا يعرف ما يفعله، و Twitter لا يُظهر أي لطف للمطورين الذين يبنون حول واجهة برمجة التطبيقات الخاصة به. لذلك، بصدق تام معك، ما لم نكن نحن مسؤولي Discourse أو فريق Discourse نراقب باستمرار هذا المكون الإضافي للتغييرات في المنبع من جانب Twitter، فسيستمر في التعطل على هذا النحو.

إعجابَين (2)

شكراً لك. نعم، لا أعتقد أنني يجب أن أضيع المزيد من الوقت في تعلم واجهات برمجة تطبيقات تويتر والتلاعب بها والتي قد تتغير في أي وقت كما ذكرت. أنا متأكد من أن مستخدمي سيتقبلون الأمر!

إعجابَين (2)

هذا لا يعني أن فريق Discourse لا يعمل بالفعل على إصلاح، وهو ما يفعلونه، وقد لا يتطلب الأمر أكثر من تحديث المكون الإضافي ليعمل مرة أخرى من جانب المسؤول. المشكلة هي أن هذه مشكلة متكررة مع تويتر لأنه شركة سيئة الإدارة. سأحتفظ بمكوني الإضافي Twitter SSO في مكانه كخيار، لكن تويتر بالتأكيد ليس خيارًا آمنًا ويمكن الاعتماد عليه مثل أي من خدمات SSO الأخرى.

إعجاب واحد (1)

إذا كنا ما زلنا نواجه هذه المشكلات، فهل يمكننا محاولة إعادة إنتاج نفس المشكلة على try.discourse.org؟ تمكنت من تسجيل الدخول بنجاح باستخدام حسابي على تويتر هناك.

4 إعجابات

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

إعجابَين (2)

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

إعجاب واحد (1)

مقارنةً بالمنشور الأصلي هنا، قامت تويتر بتغيير كيفية تكوين الإعدادات بصريًا. هذا ما قمت بتكوينه (الإعدادات الآمنة للمشاركة علنًا هنا في المنتدى على أي حال) لمثيل Discourse الخاص بي، على الأقل:

تعديل: قد يكون هذا شيئًا. بينما لا يزال هناك خيار لطلب البريد الإلكتروني من المستخدمين، لم يعد هناك إعداد لـ تمكين المصادقة من طرف ثالث كما هو مذكور في المنشور الأصلي. بالنسبة للأشخاص الذين قاموا بتكوين تسجيل الدخول الخاص بهم عبر تويتر قبل هذا التغيير في إعداداتهم، قد لا يكون هذا مشكلة حيث قد تحتفظ تويتر بهم وتهاجر إعداداتهم. ومع ذلك، أنا لا أرى هذا الخيار بعد الآن مما قد يشكل مشكلة للمستخدمين مثلي ومثل @dnfoz الذين يقومون بتكوين منتدياتنا لأول مرة ويحتاج Discourse إلى المصادقة من طرف ثالث لإكمال عملية المصافحة SSO بنجاح.

تعديل 2: إليك شيء آخر للتفكير فيه. هل يتوقع Discourse واجهة برمجة تطبيقات تويتر v1 أم v2؟ بالنسبة للمطورين الجدد، لم يعودوا يقدمون v1 حيث يذكرون فقط الهجرة لأولئك الذين كانوا يستخدمون v1 بالفعل دون ذكر دعم v1 القديم للمستخدمين الجدد. انظر التفاصيل هنا:

كما هو موضح في الرابط أعلاه، يبدو أنهم يسمحون فقط لحسابات المطورين الموجودة مسبقًا بالهجرة v1. لا أرى طريقة أو وثائق لتمكين v2 على حسابات المطورين الجديدة وبالتالي لدي دعم v2 فقط.

لذلك، بافتراض أن SSO والتضمين يتوقعان واجهة برمجة تطبيقات تويتر v1، فقد يتطلب هذا بعض الجهد البرمجي لدعم إصدارات واجهة برمجة التطبيقات هذه أو إيقاف دعم v1 إذا لم يكن هذا النهج المزدوج ممكنًا.

تعديل 3: بعد قراءة منتدى مطوري تويتر (يا للسخرية أن تويتر نفسها تستخدم Discourse!)، تبدو شكوكى مؤكدة إلى حد كبير. وفقًا لللافتة المثبتة الخاصة بهم (يمكن عرضها هنا: مطورو تويتر (twittercommunity.com))، لا يمكن للمطورين الجدد الوصول إلى واجهة برمجة التطبيقات v1.1:

هل أنت جديد على المنصة ومستعد للبدء؟

نشجعك على التسجيل للحصول على وصول أساسي و إجراء طلبك الأول إلى واجهة برمجة التطبيقات.

بمجرد التسجيل، سيكون لديك مشروع وصول أساسي داخل حسابك والذي سيوفر لك ما يلي:

  • بيئة تطبيق واحدة
  • القدرة على استرداد ما يصل إلى 500 ألف تغريدة شهريًا
  • القدرة على استخدام ما يصل إلى 5 قواعد مع نقطة نهاية البث المصفى
  • الوصول إلى غالبية نقاط نهاية واجهة برمجة تطبيقات تويتر v2
  • لن تتمكن من الوصول إلى نقاط نهاية v1.1 القياسية، v1.1 المميزة، أو المؤسسية
3 إعجابات

نعم، هذا بالضبط ما أقصده في songwritingsteps.com - فهو يملأ “user1” ولا يوجد بريد إلكتروني.

من فضلك أخبرني إذا اكتشفت الحل! كنت أضرب رأسي في الحائط لساعات :confused:

إعجاب واحد (1)

لا، ليس لدي أي فكرة! يمكنني دائمًا تشغيل منتدى في جهاز افتراضي على جهازي المحلي ومعرفة ما إذا كان بإمكاني اكتشاف ما يحدث. ومع ذلك، حتى الآن، لا توجد أي أدلة. أنا أخمن، ولكن كما ذكرت، أشك في أن الأمر يتطلب دعم واجهة برمجة التطبيقات V1 وهو السبب. دعم الإرث V1 الضروري ببساطة لم يعد موجودًا لحسابات المطورين الجديدة كما شاركت للتو.

إعجاب واحد (1)

شكرا لك! هذا بحث رائع يا @Hifihedgehog. نحن نبحث في أفضل مسار للمضي قدمًا وسنقدم تحديثًا عندما يكون لدينا واحد.

شكرا لصبركم جميعًا.

إعجابَين (2)

لا أعتقد أنه يمكنك تكوين تسجيلات الدخول الاجتماعية على جهاز محلي. تحتاج إلى شهادة https صالحة. هل لديك شهادة صالحة للوصول إلى الجهاز الافتراضي على جهازك المحلي؟

إعجاب واحد (1)

في الواقع، الأمر ليس صعبًا للغاية: يمكنني إنشاء نفق SSH إلى جهازي المحلي من خادم VPS الخاص بي ثم توجيهه إلى وكيل عبر خادم الويب الخاص بي الذي يحتوي بالفعل على شهادة SSL. :wink:

3 إعجابات

حسنًا، أعتقد أننا تمكنا من حل اللغز :mag_right:
كما أشار @Hifihedgehog، تبدأ حسابات مطوري تويتر الجديدة بخطة “أساسية” وهي مقيدة بنقاط نهاية واجهة برمجة تطبيقات v2. يتطلب تسجيل الدخول المدمج في تويتر حاليًا الوصول إلى نقاط نهاية v1.1. لحسن الحظ، هذه ليست مشكلة!

هناك شيئان مهمان يجب ملاحظتهما في هذا الرسم البياني على X API v2 - X

يمكنك الوصول إلى واجهة برمجة تطبيقات v1.1 مجانًا ضمن خطة “Elevated”. تحتاج ببساطة إلى التقديم من لوحة تحكم المطور الخاصة بك. وجدتها سريعة وسهلة للغاية. عملت تسجيلات الدخول إلى تويتر في Discourse بشكل لا تشوبه شائبة بعد ذلك :tada:
سأقوم بتحديث المنشور الأصلي لتضمين هذا المتطلب الجديد.

10 إعجابات

يا له من كلام صحيح! استغرق الأمر دقيقتين فقط وتمت الموافقة عليّ على الفور. الإصلاحات البسيطة لطيفة دائمًا! :smile:

5 إعجابات

تم تقسيم 8 مشاركات إلى موضوع جديد: الاقتباس معطل عندما يتطابق الاسم مع اسم المستخدم

إذا تم تحديث مفتاح أو سر تويتر، فهل يؤثر ذلك على المستخدمين الحاليين؟ إذا كان الأمر كذلك، فهل هناك طريقة لـ “إصلاحه”؟ لقد وجدت هذه التعليمات لتحديثات تسجيل الدخول إلى فيسبوك، فهل هذا هو البرنامج النصي الصحيح للاستخدام؟

cd /var/discourse
./launcher enter app
rails c
UserAssociatedAccount.where(provider_name: "twitter").delete_all

لم تعد روابط تويتر الخاصة بي تُضمَّن بعد إعداد تسجيل الدخول إلى تويتر. قمت أولاً بإعداد مفاتيح مستهلك تويتر، ولم يعمل تسجيل الدخول كما هو متوقع. الآن أنا على خطة “Elevated”، لذا يجب أن يكون لدي وصول إلى نقطة النهاية v1.1.

يعمل تسجيل الدخول الآن كما هو متوقع، ولكن عندما أقوم بإعادة بناء منشور بروابط تويتر، فإنها تظل مجرد روابط عادية.

عندما أقوم بإعادة بناء منشور قديم يحتوي بالفعل على تغريدات مضمنة، تتم إزالة التضمينات.

أي فكرة؟

تعديل: يبدو أن هذا قد تم إصلاحه في أحدث تحديث (2.9.0.beta5 - 0ae7b43018)

إعجاب واحد (1)

لدي مشكلة في هذا، حيث تظهر الصور تالفة. مثال:

أي أفكار…؟ كل شيء محدث :confused:

إعجاب واحد (1)