Facebook OAuth "لم يتم تضمين نطاق عنوان URL هذا في نطاق التطبيق"


Answers

في حالة وجود شخص ما عبر هذا ويبحث عن هذه الإعدادات (مثلما كنت)

عليك أن

  1. على الجانب الأيسر ، انقر على "+ إضافة منتج" وحدد "Facebook Login" (كان في أعلى الصفحة بالنسبة لي)
  2. انظر الإعدادات الجديدة المتاحة على الجانب الأيسر
  3. ستحصل الآن على إعدادات OAuth هذه على "إعدادات المنتج"

معلومات إضافية: تأكد من إضافة عنوان URL رد الاتصال مثل http://localhost:3000 إلى الحقل Valid OAuth redirect URIs في صفحة الإعدادات في تسجيل الدخول إلى Facebook

Question

دعني أولاً أبدأ بالقول أنني بحثت عن إجابة على هذا السؤال لبعض الوقت ...

أحاول إعداد Facebook OAuth للعمل مع التطبيق الخاص بي الذي يتم تطويره محليًا على جهازي. كل شيء كان يعمل بشكل مثالي مع إذن Facebook حتى انتقلت من استخدام localhost إلى اسم نطاق آخر (لا يزال محليًا إلى جهازي). الآن أتلقى الخطأ التالي.

لا يمكن تحميل عنوان URL: لا يتم تضمين نطاق عنوان URL هذا في نطاقات التطبيق. لتتمكن من تحميل عنوان URL هذا ، أضف جميع النطاقات والنطاقات الفرعية لتطبيقك إلى حقل مجالات التطبيق في إعدادات التطبيق.

ملف مضيفي يحتوي على 127.0.0.1 photovote.dev (يعمل بشكل مثالي)

إعادة التوجيه الخاصة بي في تطبيقي (باستخدام Socialite) هي http://photovote.dev/auth/facebook/callback

في إعدادات تطبيق Facebook الخاص بي ...

  • مجال التطبيق الخاص بي هو photovote.dev
  • عنوان URL الخاص بموقعي هو http://photovote.dev/
  • معرفات URI الصحيحة لإعادة توجيه عنوان URL هي http://photovote.dev/auth/facebook/callback

عنوان URL في وقت رسالة الخطأ هو ..

https://www.facebook.com/v2.5/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fphotovote.dev%2Fauth%2Ffacebook%2Fcallback&scope=email&response_type=code&state=0ztcKhmWwFLtj72TWE8uOKTcf65JmePtG95MZLDD

أنا في خسارة ما هي المشكلة ...

لقطة شاشة 1

لقطة شاشة 2




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

كان الجواب: الآن يريد FB إعادة التوجيه الكامل uri. بالنسبة إليّ ، حيث كانت تستخدم https://www.example.com فقط ، فإنها تريد الآن https://www.example.com/auth/facebook/callback . يجب الانتقال إلى الحقل "Valid UAuth redirect URIs" (إعداد تسجيل الدخول إلى Developer / Facebook->)




لم يعمل شيء حقاً بالنسبة لي ، حتى قمت بتحديث إصدار SDK الذي كنت أستخدمه. لقد بدأت بـ 5.0. ولا حتى 5.4.0 لن تعمل كذلك. عندما قمت بتحديث إلى 5.6.2 ، كان يعمل بشكل لا تشوبه شائبة ، على الرغم من عدم وجود أي شيء في changelogs التي كانت ذات الصلة!







حدث هذا الخطأ Facebook نفسه بالنسبة لي في بيئة الإنتاج. السبب في ذلك هو أنه كان لديَّ تطبيقان مسجلان على Facebook (محلي ، إنتاج) ولكنني ضمنت معرّف التطبيق المحلي في شفرة المصدر ونسيت تبديله لمعرف تطبيق الإنتاج قبل النشر.

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




تأكد من أن تطبيقك عام. انقر على + إضافة منتج الآن اذهب إلى المنتجات => Facebook تسجيل الدخول الآن قم بما يلي:

Valid UAuth redirect URIs: example.com/

إلغاء مصادقة عنوان URL لإعادة الاتصال: https://example.com/facebookapp




الخطوة الأولى: استخدم جميع https://example.in أو عنوان URL لشهادة ssl ، لا تستخدم http://example.in

الخطوة الثانية: إعداد تطبيق faceboook-> الإعداد الأساسي-> إضافة مجالك أو نطاق فرعي

الخطوة الثالثة: إعداد تسجيل دخول تطبيق faceboook-> Valid UAuth Redirect URIs-> إضافة عنوان url الخاص بإعادة التوجيه بالكامل بعد تسجيل الدخول

الخطوة الرابعة: إعداد تطبيق faceboook-> الإعداد المسبق-> مدير المجال-> إضافة اسم المجال الخاص بك

تفعل كل هذه الخطوة ثم استخدام معرف التطبيق الخاص بك ، إصدار التطبيق ، التطبيق السري للإعداد




يجب تمكين هذا الخيار في موقع البوابة:




إذا كان هذا يساعد أي شخص آخر ، فقد بدأ هذا يحدث لي على موقع قديم عندما تصبح "Valid UAuth Redirect URIs" إلزامية. كان الموقع لا يزال يستخدم V4 PHP SDK وتم حل المشكلة بالنسبة لي عن طريق الترقية إلى V5 SDK.




في قسم نطاق التطبيق ، أنت تكتب نطاق التطبيق الخاص بك ولكنك تحتاج أيضًا إلى إضافة مجال تسجيل الدخول الخاص بك ، أي اسم صفحة html حيث تطلب من المستخدم تسجيل الدخول. في حالتي ، تم اختباره على المضيف المحلي وكان مسار تسجيل الدخول هو localhost / login ، إذا كنت أضع فقط http://localhost.com في قسم نطاق التطبيق ، أتلقى هذا الخطأ. ولكن بعد إضافة http://localhost/login.com ، تم إصلاح الخطأ. وكذلك تغيرت إعدادات التطبيق في الإصدار الأحدث من SDK ، حيث لا يوجد خيار لـ OAuth redirect route. يتعين عليك تعيين مسار إعادة التوجيه مباشرة من جانب الخادم ، بعد النجاح في الحصول على الرمز المميز لـ OAuth.




واجهت نفس المشكلة ، وجاءت من معرف التطبيق الخاطئ client_id / Facebook.

هل أدخلت تطبيق Facebook إلى "عام" أو "عبر الإنترنت" عندما تفعل ذلك ، ينشئ Facebook تطبيقًا جديدًا بمعرّف تطبيق جديد.

يمكنك مقارنة قيمة المعلمة "client_id" في عنوان url بالقيمة الموجودة في لوحة تحكم Facebook.