Login with the credentials of the account you want to connect to Discourse and follow the wizard.
If you already have other apps instead of Get Started you will see the entry My Apps, then just click on Add new app and follow the guide from step 1b
1a. Select Developer

1b. Provide a name for the app, for example `Discourse Login` and click on <kbd>Next</kbd>.

1c. Click on <kbd>Add your first product</kbd>

Click Set Up below Facebook Login.
From the menu on the left, exit Quickstart by clicking on Settings under Facebook Login
Setup the Valid OAuth redirect URI field, entering https://discourse.example.com/auth/facebook/callback – obviously, replacing the domain with your site’s actual domain name and matching the HTTPS protocol. Remember that the HTTPS protocol is now mandatory for all URI redirects. Click Save Changes.
Once completed, a successful setup should look like this in Products/Facebook Login/Settings:
Navigate to Settings/Basic, enter your Discourse URL (https://discourse.example.com) in the App Domains field and also enter the URL for your Discourse site privacy policy and Terms of Service in the appropriate fields and also upload the icon of your site. (Mind that for your privacy and tos link to be verified, you should have a valid SSL certificate integrates, which is not self-signed. If the certificate is missing, or self-signed, you won’t be able to save your changes).
If you have a company that does business in the European Union, you may want to fill in the Data Protection Officer Contact Information form before clicking on Save Changes.
⚠️ Facebook has changed this step to ask for extra information. We are currently working to determine what you need to provide; see recent replies. (November 2020)
There is now a field for User Data Deletion information for GDPR compliance. Select “Data Deletion Instructions URL” from the dropdown and add a link to a page (such as https://discourse.example.com/tos#deletion) which contains a sentence like “Accounts on this site can be anonymized or deleted at the user’s request. Contact our @support group for details.”
At the bottom of the page click on Add Platform and select Website
In Discourse site settings, enter your Facebook app’s App ID and App Secret in the facebook app id and facebook app secret fields. You’ll also want to check off Enable Facebook authentication, requires facebook_app_id and facebook_app_secret
That’s it! Facebook login should work now. Be sure to test it from a “normal” Facebook account, not your developer account.
Troubleshooting
Hosted Customers
If you are a Discourse hosting customer, contact us via the email address on your site dashboard and we will be happy to assist.
If you’re hosted by another provider you will need to contact them for any server-related tasks or issues.
Self-hosters
If the Facebook app API is updated, or the app ID/secret are changed, you’ll need to remove existing associations from your site before users can log in again. To remove this data, run the following:
cd /var/discourse
./launcher enter app
rails c
UserAssociatedAccount.where(provider_name: "facebook").delete_all
يبدو أن مستهلك هو الخيار الأفضل، مما يوفر مجموعة محدودة من الخيارات مع كل ما نحتاجه.
في النهاية - الوصول المتقدم
يبدو الآن أنك بحاجة إلى طلب “الوصول المتقدم” إلى عنوان البريد الإلكتروني للمستخدم على فيسبوك. بدا هذا يتطلب بضع نقرات فقط وتم منحه تلقائيًا. ومع ذلك، استغرق الأمر بعض البحث للعثور عليه قبل أن يظهر.
يبدو أيضًا أن هناك حاجة لمراجعة الوصول في الشهر التالي أو نحو ذلك. بشكل عام، إنها الكثير من المتاعب أكثر من إعداد تسجيلات الدخول الأخرى لـ OAuth.
تمكنت أخيرًا من تكوين تسجيل الدخول عبر فيسبوك كوسيلة للمستخدمين للتسجيل (توقف تطبيقي الأصلي عن العمل بعد أن قام فيسبوك بتحديث الامتثال للائحة العامة لحماية البيانات الخاصة به). لمن يهتم، قم بإنشاء تطبيق جديد تمامًا على فيسبوك، بالإضافة إلى الخطوات المذكورة في المنشور الأول، ستحتاج أيضًا إلى هذه الخطوات على صفحة مطوري فيسبوك الخاصة بتطبيقك:\n\nمراجعة التطبيق → الأذونات والميزات\n- public_profile → انقر على الحصول على وصول متقدم → اتبع التعليمات\n- email → انقر على الحصول على وصول متقدم → اتبع التعليمات\n\nالآن يجب أن يتمكن المستخدمون من التسجيل باستخدام فيسبوك ويجب أن يتلقوا إشعارات البريد الإلكتروني للمنشورات المشترك فيها أيضًا.
لقد تخليت عن تكامل تسجيل الدخول عبر فيسبوك. إما أن هؤلاء هم روبوتات أو أنهم لا يأخذون الوقت الكافي للقراءة. هذه هي المرة الثانية التي يثيرون فيها أن سياسة الخصوصية الخاصة بي تنتهك سياستهم. في المرة الأولى تمكنت من حلها. الآن عادت المشكلة.
يجب أن تمتثل سياسة الخصوصية المرتبطة بتطبيقك لسياسة منصة فيسبوك 4.ب:
تنص هذه السياسة على أنه يجب عليك تضمين كل ما يلي:
شرح واضح للبيانات التي تجمعها وتعالجها (تم)
الغرض الذي تجمع وتعالج هذه البيانات من أجله (تم)
كيف يمكن للمستخدمين طلب حذف هذه البيانات (معلق - حذف الحساب أو المحتوى لا يشبه طلب المستخدم لحذف البيانات. يمكنك تغيير جملتك لجعل شروط المنصة 4.ب متوافقة)
شكرا لتعاونك. يرجى الرد على هذا البريد الإلكتروني عند تحديث تطبيقك أو إذا كانت لديك أي أسئلة حول هذا الطلب.
فيسبوك
بينما أشارك لقطة شاشة تصف تمامًا كيف يمكن للمستخدمين طلب إزالة البيانات ونوع البيانات التي هي.
على أي حال، أهم شيء أريد معرفته الآن هو هذا. الأشخاص الذين استخدموا فيسبوك لتسجيل الدخول، هل لا يزال بإمكانهم تسجيل الدخول باستخدام اسم مستخدم/كلمة مرور؟ أم أن هذا يعني أنني فقدت هؤلاء المستخدمين؟
إذا لم يقوموا بتعيين كلمة مرور مسبقًا، فسيحتاجون إلى طلب إعادة تعيين البريد الإلكتروني، ولكن نعم يمكنهم تسجيل الدخول بكلمة مرور. لقد مررنا للتو بهذا الأمر في منتدياتنا ولنفس السبب.
لقد بذلت قصارى جهدي لتحديث سياسة الخصوصية الخاصة بنا للامتثال لتعليقاتهم: Privacy - TZM Forum
كان الأمر جيدًا في البداية، ثم بعد شهر أو شهرين عادوا بنفس الشكاوى. لسبب ما لم يكن أي تغيير كافياً، لذلك قاموا بتعطيل التطبيق. قمت بإزالته بعد ذلك، الحياة أقصر من أن أجادل مع فيسبوك (بوتات).
أخبرتهم أن يحاولوا مرة أخرى، وأخبروني مرة أخرى أنهم لا يستطيعون تحميل الصفحة.
لذلك، هم…
يطلبون منك بلطف تزويدنا بلقطة شاشة تتضمن أيضًا العناصر التالية:
اسم التطبيق الخاص بك، ومعرف التطبيق، وأيقونة التطبيق.
تدفق تسجيل الدخول الكامل الخاص بـ Facebook (إذا قمت بتطبيق تسجيل الدخول إلى Facebook، فاعرض مستخدم التطبيق وهو يحدد موقع زر تسجيل الدخول إلى Facebook).
تدفق إنشاء الحساب وتسجيل الدخول الخاص بتطبيقك، إذا كان بإمكان مستخدمي تطبيقك إنشاء حسابات وتسجيل الدخول إلى تطبيقك دون استخدام تسجيل الدخول إلى Facebook.
لكل إذن يصل تطبيقك إلى بياناته، اعرض مستخدم التطبيق وهو يصل إلى البيانات التي تتطلب الإذن، بالإضافة إلى ما يفعله تطبيقك بهذه البيانات.
تدفق تسجيل الدخول إلى Facebook يوضح ما يحدث عندما يرفض مستخدم التطبيق إذنًا يطلبه تطبيقك.
موقع سياسة الخصوصية الخاصة بك في تطبيقك. انقر فوق الارتباط لسياسة الخصوصية الخاصة بك لعرض محتوى سياستك.
المحتوى داخل تطبيقك.
المكونات الاجتماعية، إن وجدت، وكيف يتم استخدامها. على سبيل المثال، الإعجاب بالصفحات أو متابعتها، أو مشاركة المحتوى على Facebook، أو دعوة الأصدقاء أو الإشارة إليهم. إذا كان تطبيقك متاحًا على منصات مختلفة (Connect، iOS، Android، Canvas…)، فتأكد من عرض جميع المعلومات المذكورة أعلاه للمنصات المدرجة.
Meta صعب جدًا في التعامل معه لدرجة أنني قد أقوم ببساطة بإزالة جميع ميزاته من منتدياتي، وهي تسجيلات الدخول إلى Facebook و Instagram (غير مستقرة قليلاً) المضمنة في iframes (أفتقد the old oneboxes).
لا يمكنني حتى الحصول على معاينات لروابط Facebook المنشورة داخل المواضيع (ربما بسبب هذا non-resolvable thing).
لست متأكدًا من أن هذه الميزات تستحق العناء.
تعديل: صديق يدير منتدى Discourse تلقى نفس البريد الإلكتروني من Facebook وتساءل عن عدد مستخدميهم الذين لديهم بالفعل حساب Facebook مرتبط.
يمكنك استخدام هذه الاستعلامات في data explorer للحصول على عدد المستخدمين الذين نشروا مرة واحدة على الأقل خلال العام الماضي من الآن ولديهم حساب Facebook مرتبط:
SELECT count(*)
FROM users
LEFT JOIN user_associated_accounts ON user_id = users.id
WHERE last_posted_at > now() - '1 year'::interval
AND provider_name = 'facebook'
إذا كنت تريد المقارنة بجميع المستخدمين:
SELECT count(*)
FROM users
WHERE last_posted_at > now() - '1 year'::interval
من منتدى الخاص بي، نشر 411 مستخدمًا مرة واحدة على الأقل في العام الماضي، و 30 منهم لديهم حساب Facebook مرتبط. هذا لا يعني أنهم يستخدمونه.
تعديل: تم الأمر، لقد قمت بتعطيل ميزات Facebook من منتدياتي. اعتقدت ربما كان ذلك خسارة، لكن الإعلان عن ذلك منحني الكثير من الإعجابات . يبدو أن مجتمعاتي ليست مولعة بشكل خاص بـ Facebook بعد كل شيء…
قبل أن تتمكن من الانطلاق، يجب على مسؤول التطبيق إكمال التحقق من النشاط التجاري. بمجرد التحقق من حساب نشاطك التجاري، يمكنك العودة إلى هذه الصفحة والانطلاق. تعرف على المزيد حول التحقق من النشاط التجاري.
التحقق من النشاط التجاري بعيد المنال بشكل ميؤوس منه في حالتي، لأنني لا أملك نشاطًا تجاريًا مسجلاً قانونيًا:
تلقيت بريدًا إلكترونيًا من مطور فيسبوك يفيد بأنني سأفقد الوصول إلى تطبيقي (الذي يُستخدم لتسجيل الدخول عبر فيسبوك وربط إنستغرام، على حد علمي) ما لم أكمل التحقق من النشاط التجاري.\n\nإن نسختي هي مجرد هواية ولا تحقق أي ربح يبرر اعتبارها نشاطًا تجاريًا بأي شكل من الأشكال. أتساءل فقط كيف يخطط الآخرون للتعامل مع هذا؟!؟
هل تخبر المستخدمين بتسجيل الدخول بطريقة أخرى؟ اخبز بعض الكعكات، أحضرها إلى باب مارك زوكربيرج، وقدمها على ركبتيك؟
بكل جدية، أعتقد أن هذا هو نهاية الطريق. لا أحد يتحكم في واجهة برمجة تطبيقات موقع فيسبوك سوى فيسبوك. هذه ليست مشكلة يمكن “حلها” بالتفكير الإبداعي، أو هندستها.
توضيح لهذا، هل هذا يعني أنه سيتم حذف بيانات المستخدم وإنشاء مستخدم جديد لـ Discourse أم يعني أن المستخدم سيحتاج إلى إعادة المصادقة (منح الأذونات لمشاركة المعلومات) بواسطة فيسبوك عند تسجيل الدخول التالي؟
يبدو أن بعض الأشخاص واجهوا هذا العام الماضي، لذا ربما حان دوري الآن. أنا لست شركة، فهل هذا يعني أنني سأحتاج إلى إزالة تسجيل الدخول عبر ميتا في المستقبل؟
أكمل فحص استخدام البيانات لمجتمع X
حماية خصوصية الأشخاص أولوية رئيسية لميتا والمطورين الذين يبنون على منصتنا. لهذا السبب نحن نطلب فحصًا سنويًا للتأكد من أن وصولك إلى واجهة برمجة التطبيقات (API) واستخدامك للبيانات يتوافقان مع سياسات ميتا. تعرف على المزيد.
إليك ما تحتاج إلى القيام به لمجتمع X قبل 30 مايو 2024 للحفاظ على الوصول إلى واجهة برمجة التطبيقات وتجنب القيود:
افحص الأذونات والميزات التي تمت الموافقة عليها أو إضافتها مسبقًا.
صدّق على أن هذا التطبيق يتبع الاستخدام المسموح به.
فحص استخدام البيانات هو متطلب يجب على مسؤول التطبيق إكماله مرة واحدة سنويًا.
تأكد من أن كل تطبيق متصل بـ شركة معتمدة - هذا مطلوب لتقديم فحص استخدام البيانات.