قم بتكوين مكون Jabber الخارجي لإرسال Stanza نيابة عن أي مستخدم [مغلق

StackOverflow https://stackoverflow.com/questions/4213618

  •  26-09-2019
  •  | 
  •  

سؤال

قرأت في مكان ما منذ فترة أنه يمكن للمرء تكوين مكونات jabber الخارجية (XEP-0114) لإرسال XMPP Stanza نيابة عن أي مستخدم. على سبيل المثال ، أقول إن لديّ ربط مكون بـ (component.localhost) وأريد أن يرسل رسالة stanza مع "من" تعيين السمات إلى "user@localhost".

أحاول تحقيق ذلك مع Ejabberd. لن يفاجأ إذا كان عليّ اختراق Ejabberd SRC للحصول على هذا العمل (إن أمكن على الإطلاق).

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

المحلول

إذا كنت تستخدم Ejabberd ، يمكنك استخدام {service_check_from, false} الخيار في تعريف الخدمة الخاص بك لتعطيل التحقق من السمة "من".

ضع في اعتبارك ذلك xep 0114 يتطلب أن يتطابق الجزء "المضيف" من JID مع اسم المكون.

انظر القسم المقابل من وثائق Ejabberd لجميع التفاصيل الدائرية.

نصائح أخرى

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

بمجرد الانتهاء من ذلك ، قم بتوصيل مكتبة/عميل XMPP مع بيانات اعتماد هذا المكون ويجب أن تكون على ما يرام! القيد الوحيد هو أنك ترسل XML صالح.

عادةً ما يُسمح للمكون الخاص بك فقط بإرسال stanzas التي تظهر من *@component.domain.com ، بدلاً من @.domain.com. هذه ميزة أمنية.

إذا كنت تريد هذه الوظيفة ، فقد تضطر إلى كتابة مكون إضافي للخادم بدلاً من مكون خارجي.

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