هل لا يزال بإمكاني انتحال شخصية المستخدمين والوصول إلى جميع عناصر تحكم مسؤول المستخدم داخل Discourse بعد تمكين هذا؟
ماذا يحدث لمن يوجدون بالفعل على Discourse، ولكن ليس على WP؟ هل ستتأثر حساباتهم، وما هي بيانات الاعتماد التي سيستخدمونها لتسجيل الدخول، نظرًا لأنهم غير موجودين بالفعل على WP.
كيف يمكنني إضافة زر تسجيل على موقع Discourse الخاص بي يعيد توجيههم إلى Discourse بعد التسجيل في WP؟
هل هناك أي طريقة يمكن للمستخدمين من خلالها التسجيل فقط على Discourse مع تمكين هذا الإعداد.
والذي أفترض أنه منطقي من منظور WP نظرًا لأن المستخدم غير موجود فعليًا على WP.
السؤال هو: هل تمكين موفر DiscourseConnect يعني أن مستخدمي Discourse الحاليين، الذين لم يتم تسجيلهم على WP الخاص بي، لا يمكنهم تسجيل الدخول بعد الآن؟
هل هناك حل لهذا؟
ولكن كيف يمكنني استيرادهم إلى ووردبريس دون التأثير على بيانات اعتماد تسجيل الدخول الحالية الخاصة بهم في Discourse؟
هل هناك أي طريقة للقيام بذلك دون إعادة تعيين تسجيلات دخول المستخدم أو حتى إخطارهم على الإطلاق لجعلها تبديلًا سلسًا؟
أشك في ذلك. توجد إضافة لـ Discourse تسمح بترحيل كلمات المرور من WordPress، لكنني أشك في وجود إضافة تعمل في الاتجاه الآخر. سيتعين عليك جعلهم جميعًا يعيدون تعيين كلمات المرور الخاصة بهم.
حتى تقوم بالتبديل إلى استخدام تسجيل الدخول الخاص بـ WordPress، فإن الحسابات الموجودة على WordPress لا تؤثر على Discourse.
ماذا لو قمت بتمكين ووردبريس كعميل ديسكورس ثم قمت بإنشاء برنامج نصي آلي يقوم بما يلي:
انتحال حساب مستخدم على ديسكورس حتى يتم تسجيل دخول الأتمتة كمستخدم
الانتقال إلى ووردبريس والنقر على زر “تسجيل الدخول باستخدام ديسكورس”.
تكرار ذلك لجميع المستخدمين الموجودين على ديسكورس. حوالي 2000 مستخدم.
الفكرة هي أن الخطوة رقم 2 ستجبر ووردبريس على إنشاء حساب لمستخدم ديسكورس بنفس بيانات الاعتماد. أفترض أيضًا أن زر “تسجيل الدخول باستخدام ديسكورس” سيعمل تلقائيًا دون طلب كلمة مرور عندما أكون مسجلاً الدخول كمستخدم، منتحلاً شخصيته.
بمجرد أن أفعل هذا، هل ستوجد حسابات جميع المستخدمين داخل ووردبريس، وبعد ذلك يمكنني تبديل ووردبريس إلى مزود ديسكورس؟
يبدو أن الأمر منطقي نظريًا، ولكني أود أن أسمع رأيك حول ما إذا كان هذا يمكن أن ينجح.
حسنًا. إذن إذا كان لديك مستخدمون Discourse في WordPress، فستحتاج إلى جعل كل هؤلاء المستخدمين لديهم حساب في WordPress. إذا قاموا بإنشائه بنفس عنوان البريد الإلكتروني، فيجب ربطهم بمستخدم Discourse الخاص بهم عند تسجيل الدخول.
بعد تكوين WordPress كمزود DiscourseConnect، سيحتاج مستخدمو Discourse الذين ليس لديهم حسابات على موقع WordPress الخاص بك إلى التسجيل في WordPress قبل أن يتمكنوا من الوصول إلى موقع Discourse الخاص بك. يجب عليك إضافة رسالة إلى موقع Discourse الخاص بك لإخبار المستخدمين بالتغيير. في الرسالة، شجع المستخدمين على التسجيل في WordPress بنفس عنوان البريد الإلكتروني الذي يستخدمونه في Discourse. بهذه الطريقة سيتم تسجيل الدخول إلى حسابات Discourse الحالية الخاصة بهم في المرة الأولى التي يعودون فيها لتسجيل الدخول إلى Discourse عبر WordPress.
إذا لم يقم المستخدمون بالتسجيل في WordPress باستخدام عنوان البريد الإلكتروني الذي يستخدمونه في Discourse، فسيتم إنشاء حساب جديد لهم في المرة الأولى التي يعودون فيها لتسجيل الدخول إلى Discourse عبر WordPress. يمكنك حل هذه المشكلة على أساس كل حالة على حدة عن طريق دمج حساب Discourse القديم في حساب Discourse الجديد. يمكن القيام بذلك من صفحة مسؤول Discourse للمستخدم.
أحد الأشياء التي يجب ملاحظتها هو أن سلوك تسجيل دخول المستخدمين إلى حسابات Discourse الحالية الخاصة بهم سيعمل فقط إذا تم تمييز عناوين البريد الإلكتروني على أنها “صالحة” من جانب WordPress. إذا كنت تستخدم نظام تسجيل الدخول الافتراضي في WordPress، فسيعمل هذا دون أي مشاكل. إذا كنت تستخدم صفحة تسجيل دخول مخصصة تمت إضافتها بواسطة إضافة، فمن المحتمل ألا يتم تمييز عناوين البريد الإلكتروني للمستخدمين على أنها “صالحة”. التفاصيل حول كيفية حل هذه المشكلة موجودة هنا: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. لاحظ أنه من المهم جدًا ألا تقبل عناوين البريد الإلكتروني بشكل أعمى دون التحقق منها بطريقة ما. إذا لم يتم التحقق من صحة عناوين البريد الإلكتروني، فإنك تخاطر بالاستيلاء على الحسابات الحالية.
يبدو أنك تستخدم نظام تسجيل WordPress الافتراضي. أفترض ذلك لأن صفحة تسجيل الدخول الخاصة بك موجودة في wp-login.php. هذا يعني أن إضافة WP Discourse ستضع علامة على عناوين البريد الإلكتروني للمستخدمين على أنها مُحققة.
نعم، سيظل Discourse يرسل لهم رسائل البريد الإلكتروني. لا تتأثر إشعارات البريد الإلكتروني المرسلة من Discourse باستخدام Discourse Connect كنظام مصادقة.
لا يعتبر المستخدم الموجود على موقع WordPress الخاص بك والذي لم يصل إلى Discourse مطلقًا مستخدمًا على Discourse. لن يتلقوا أي إشعارات بريد إلكتروني من Discourse. الاستثناء الوحيد لذلك هو إذا قمت بتمكين إعداد WP Discourse “إنشاء أو مزامنة مستخدمي Discourse عند تسجيل الدخول”:
إذا تم تمكين هذا الإعداد، فسيتم إنشاء حساب Discourse تلقائيًا للمستخدمين عند تسجيل الدخول إلى موقع WordPress الخاص بك. في هذه الحالة، إذا قام مستخدم بتسجيل الدخول إلى WordPress، ولكنه لم يزر موقع Discourse الخاص بك مطلقًا، فسيبدأ في تلقي رسالة البريد الإلكتروني الهضمية الأسبوعية من موقع Discourse الخاص بك.
لذلك، لقد اختبرت هذا للتو ويبدو أنه ليس هو الحال. كيف يمكنني التأكد من التحقق من رسائل البريد الإلكتروني للمستخدمين الآن دون الحاجة إلى القيام بذلك يدويًا؟
أيضًا، كيف يمكن للمستخدمين الجدد التسجيل والحصول على بريدهم الإلكتروني الذي تم التحقق منه؟ حاليًا، نرسلهم إلى wp-login.php الذي لا يحتوي على خيار للتسجيل، فقط لتسجيل الدخول.
يمكنني إنشاء زر جديد في المنتدى يقول “تسجيل” ويرسلهم إلى صفحة تسجيل مخصصة داخل WP، ولكن بعد ذلك تكون هذه مشكلة:
بالإضافة إلى ذلك، بعد التسجيل، أرغب في إعادة توجيههم مرة أخرى إلى المنتدى والتأكد من تسجيل دخولهم.
يمكنك التأكد مما إذا كانت عناوين البريد الإلكتروني يتم التحقق منها أم لا عن طريق إنشاء حساب جديد على ووردبريس بعد تمكين Discourse Connect. إذا تم التحقق من عناوين البريد الإلكتروني، فسترى تأكيدًا في أسفل صفحة تفضيلات المستخدم. يمكنك أيضًا وضع علامة “تم التحقق” يدويًا على عنوان بريد إلكتروني من هنا:
بافتراض عدم التحقق من عناوين البريد الإلكتروني، توجد هنا تعليمات حول كيفية وضع علامة “تم التحقق” على عناوين البريد الإلكتروني عند قيام المستخدم بإنشاء حساب: Configure single sign-on (SSO) with WP Discourse and DiscourseConnect. سيكون هذا آمنًا إذا كان موقعك يرسل للمستخدمين بريدًا إلكترونيًا للتأكيد يحتوي على رابط يحتاجون إلى النقر عليه قبل أن يتمكنوا من الوصول إلى الموقع. إذا لم يكن موقع ووردبريس الخاص بك يقوم بذلك، يمكنك أيضًا إضافة بعض التعليمات البرمجية لوضع علامة “تم التحقق” على عناوين البريد الإلكتروني للمستخدمين بعد تسجيلهم في إحدى دوراتك. قد يتطلب إعداد ذلك بعض المساعدة من مطور.
أسهل شيء يمكن القيام به هو حل هذه المشكلة بحيث يكون هناك صفحة تسجيل دخول واحدة فقط على الموقع، وتحتوي الصفحة على رابط صالح لصفحة تسجيل الموقع. أعتقد أنه يمكن تحقيق ذلك من خلال صفحة إعدادات المكون الإضافي الذي يضيف نموذج تسجيل الدخول. لاحظ أنه إذا اخترت استخدام صفحة تسجيل الدخول على https://projectvanlife.com/login/ ، فستحتاج إلى إضافة /login إلى “مسار صفحة تسجيل الدخول الخاصة بك” في إعدادات WP Discourse:
أعتقد أن هذا قد يربك المستخدمين. نهج أسهل هو مجرد إضافة رابط إلى منتدى Discourse الخاص بك تم إنشاؤه بحيث يتم تسجيل دخول المستخدمين تلقائيًا إلى Discourse عند النقر على الرابط. إليك تفاصيل حول كيفية إنشاء الرابط: Create a DiscourseConnect login link. بمجرد تمكين DiscourseConnect على موقعك، يجب عليك أيضًا هيكلة هذا الرابط بهذه الطريقة:
هذا ممكن. بعض التفاصيل حول كيفية القيام بذلك هنا: How to import Discourse users to WordPress? - #2 by simon. المشكلة الرئيسية التي أراها هي أنك ستخلق لنفسك عملاً إضافيًا دون تسهيل الأمور كثيرًا لمستخدميك. لو كنت مكانك، لكانت مخاوفي هي أن المستخدمين قد لا يتلقون البريد الإلكتروني أو يقرؤونه، وقد لا يسعد بعض المستخدمين بإنشاء حساب جديد نيابة عنهم. هناك أيضًا مشكلة أمنية محتملة ما لم يكن لدى المكون الإضافي للمستورد الذي تستخدمه طريقة لإجبار المستخدمين على تغيير كلمات المرور الخاصة بهم بعد تسجيل الدخول لأول مرة.
سيكون من الأسهل بكثير مجرد إنشاء موضوع لافتة في فئة “الموظفين” الخاصة بك مع تفاصيل حول التغيير. يمكن تحسين الصياغة في لقطة الشاشة قليلاً:
بمجرد إجراء التغيير، قم بتحديث موضوع اللافتة لإعلام المستخدمين بالاتصال بمسؤول إذا واجهوا أي مشاكل في تسجيل الدخول.
لقد فكرت للتو في شيء قد يساعد. يمكنك تكوين موقع Discourse الخاص بك مؤقتًا ليكون مزود DiscourseConnect لموقعك الويب بين الآن والوقت الذي تحدد فيه موقع ووردبريس الخاص بك ليكون مزود DiscourseConnect. إذا قمت بذلك، يمكنك إضافة شيء مثل ما يلي إلى موضوع اللافتة:
سيؤدي النقر عليه إلى تسجيل حساب جديد على ووردبريس وإعادة توجيه المستخدمين إلى صفحة ملفهم الشخصي في ووردبريس حيث يمكنهم تعيين كلمة مرور. لاحظ أنه في حالتك ستحتاج إلى استبدال كلا استخدامي http://wp-discourse.test في الرابط بـ https://projectvanlife.com/