مرحباً،
أنا أقوم ببناء إضافة محددة جداً لمنصة Discourse الخاصة بنا، وكان لدي بضعة أسئلة.
في مرحلة ما، ستضطر الإضافة إلى إرسال مجموعة من صور المواضيع في Discourse إلى موقع Imgur. الجزء المسؤول عن جمع هذه الصور مكتمل بالفعل.
الآن أحاول المصادقة على واجهة برمجة تطبيقات Imgur باستخدام تدفق OAuth2 الخاص بهم. لقد أنشأت بالفعل واجهة مستخدم للمسؤول للإضافة تسمح لك بالضغط على زر لتمكين الإضافة على حساب Imgur الخاص بك. بمجرد تسجيل دخول المستخدم، يتم استدعاء عنوان URL للاستدعاء (المُعدّ ليكون مثيل Discourse الخاص بي ومساراً محدداً أنشأته في الإضافة) مع رمز الوصول (انظر المثال).
http://localhost:3000/admin/plugins/plugin_name/callback#access_token=<token>&...
سؤالي هو: كيف يمكنني استعادة هذا الرمز؟ ليس لدي أي فكرة عن كيفية البدء.
فهمي هو أنه نظراً لأن الرمز يُرجع في معلمة تجزئة (hash)، فيجب أن يتم ذلك على جانب JavaScript. حاولت إعداد وحدة تحكم ومسار لعنوان URL للاستدعاء الخاص بي، لكنني لم أستطع معرفة كيفية قراءة عنوان URL (وخاصة الجزء الخاص بالتجزئة) من هناك. (لم أجد أي شيء مفيد في توثيق Emberjs أو Stackoverflow). حاولت إعداد مستمعي أحداث مختلفين، لكنهم لا يبدون وكأنهم يُفعّلون أبداً.
سؤالي الثاني هو: أين يجب أن أخزن الرمز ورمز التحديث؟ هل يمكنني حفظه كإعداد للنظام من الإضافة؟ سمعت عن PluginStore، لكنه متاح فقط في Ruby (وهو ما يعني إنشاء نقطة نهاية للعميل لإرسال هذه الرموز إلى الخادم). أيضاً، هل هذا آمن من منظور أمني؟
شكراً!
تعديل: كان هناك خطأ مطبعي في اسم ملف المسار الخاص بي، حيث كان ينقص حرف s، وهذا هو السبب في عدم تفعيل أي شيء…