फेसबुक लॉगिन संदेश: "URL अवरुद्ध: यह रीडायरेक्ट विफल हो गया क्योंकि रीडायरेक्ट URI ऐप के क्लाइंट OAuth सेटिंग्स में श्वेतसूची में नहीं है।"


121

महत्वपूर्ण सूचना:

यदि आप परीक्षण के लिए पंजीकरण करते हैं, तो अपनी प्रोफ़ाइल सेटिंग पर जाएं और अपनी रुचियों में हटाएं प्रोफ़ाइल जोड़ें ।

मेरी वेबसाइट पर फेसबुक के साथ लॉगिन करने की कोशिश कर रहा है :

मुझे निम्नलिखित त्रुटि मिलती है:

URL अवरोधित: यह रीडायरेक्ट विफल हो गया क्योंकि रीडायरेक्ट URI को ऐप के क्लाइंट OAuth सेटिंग्स में श्वेतसूची में नहीं रखा गया है। सुनिश्चित करें कि क्लाइंट और वेब OAuth लॉगिन चालू है और अपने सभी ऐप डोमेन को Valid OAuth Redirect URIs के रूप में जोड़ें।

settingsफेसबुक में मेरी (मूल बातें) हैं:

उन्नत टैब में, इसके लिए Valid OAuth redirect URIsसेट किया गया है:

http://openstrategynetwork.com/_oauth/facebook?close

अनुप्रयोग है public

अधिक सेटिंग्स (उन्नत) यहां: यहाँ छवि विवरण दर्ज करें

ऐप की और सीक्रेट सही हैं। मैं उल्का और उसके खातों के पैकेज का उपयोग कर रहा हूं।


आपका ROOT_URL क्या है?
एडीम

पेज में फेसबुक साइन को रीडायरेक्ट करने के लिए आप किस यूआरएल का उपयोग कर रहे हैं? प्राधिकरण के अनुरोध में आपको अभी भी पुनर्निर्देशित करने की आवश्यकता है।
एडवर्ड जियांग

@aedm: ROOT_URL का सेट हैhttp://openstrategynetwork.com
अमीर रहबरन

@ एडवर्डजियांग: मैं ऐसा कहां कर सकता हूं? यह अजीब है क्योंकि यह एक बार लोकलहोस्ट के लिए काम कर रहा था। लेकिन अभी भी लोकलहोस्ट काम नहीं कर रहा है।
अमीर रहबरन

मैं ग्राहक OAuth सेटिंग्स में config करने के लिए इस समस्या का सामना कर रहा हूँ भी, redirect_uri मैचों वास्तव में - अधिक पर देख developers.facebook.com/support/bugs/232085950706415 जरूरत मदद किसी को भी .. धन्यवाद में अग्रिम
jdme

जवाबों:


80

आपकी साइट पर फेसबुक बटन के साथ लॉगिन लिंक कर रहा है:

https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=

नोटिस: redirect_uri=http://openstrategynetwork.com/_oauth/facebook

यदि आप इसके बजाय लिंक को बदलते हैं:

redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close

यह काम करना चाहिए। या, आप फेसबुक लिंक को बदल सकते हैंhttp://openstrategynetwork.com/_oauth/facebook

आप http://localhost/_oauth/facebookमान्य रीडायरेक्ट URI में भी जोड़ सकते हैं ।

Facebook के लिए आवश्यक है कि आप URIs को श्वेतसूची पुनर्निर्देशित करें, क्योंकि अन्यथा लोग आपकी सेवा के लिए Facebook के साथ लॉगिन कर सकते हैं, और फिर एक हमलावर के सर्वर पर अपनी पहुंच टोकन भेज सकते हैं! और आप ऐसा नहीं करना चाहते;]


4
वास्तव में एक OAuth रीडायरेक्ट URI क्या है? मुझे उम्मीद है कि यह रूट वेब ऐप के समान URL होगा।
एल्विनफ्रोमडायस्पर

1
यह काम करने लगता है। हालांकि मुझे यकीन नहीं है कि अगर यह मूल रूप से नहीं था जैसा कि मैं उस खाते के साथ लॉग इन करने की कोशिश कर रहा था जिसके तहत मेरे पास ऐप बनाया गया है। इस समाधान को लागू किया, और एक अलग खाते का उपयोग किया और यह काम किया (प्रतीत होता है)। OAuth रीडायरेक्ट URI पर भाषा और जानकारी स्पष्ट होनी चाहिए। जानकारी को गूढ़ और लगभग पुरातन छोड़ दिया जाता है। उपयोग की गई शर्तें भी परिभाषित या स्पष्ट नहीं की गई हैं।
abtecas

धन्यवाद इतना मेरा मुद्दा तय! भले ही मुझे ssl काम करने लगा
स्वीट चिली फिल्ली

चाल को रीडायरेक्ट url को देखना है और जोड़ना है कि "Valid OAuth Redirect URIs" मेरे मामले में thats-साइन-फेसबुक है।
उस्मा सलीम

1. बिना और आपके url के साथ जोड़ने के लिए सुनिश्चित करें कि आपके मान्य प्रामाणिक रीडायरेक्ट URI के लिए
Bhavin Rana

79

जैसा प्रश्नकर्ता लिखता है

उन्नत टैब में, वैध OAuth रीडायरेक्ट URIs के लिए सेट है: ...

और मुझे एक ही समस्या थी (गलत इनपुट क्षेत्र में रीडायरेक्ट यूआरएल लिखना) मैं उस पर प्रकाश डालना चाहूंगा

यह

Settings -> Advanced -> Share Redirect Whitelist

परंतु

Facebook Login -> Settings -> Valid OAuth redirect URIs

इसने मुझे 2 घंटे के परीक्षण और त्रुटि से बचाया होगा।

आपको यह भी ध्यान में रखना चाहिए कि www.example.comजैसा है वैसा नहीं है example.com। दोनों प्रारूपों को रीडायरेक्ट URL में जोड़ें।


11
डाउन-वोटर्स: कृपया अपनी चिंताओं के बारे में एक टिप्पणी जोड़ें, अन्यथा उत्तर बेहतर नहीं होगा।
andymel

6
जीसस, मैंने इतना समय गलत जगह देखने में लगाया, धन्यवाद।
रिक्स

: एक नए URI मैं जोड़ने की कोशिश कर New HTTP Redirect URIs are not allowed:(
XCS

बहुत बहुत धन्यवाद। मैंने सब कुछ करने की कोशिश की, लेकिन गलत जगह पर। "शेयर पुनर्निर्देशित श्वेतसूची" का क्या अर्थ है?
सुनील कुमार

19

इसने मेरे लिए काम किया।

redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/

मुझे लगता है कि मेरे ब्राउज़र से फेसबुक बटन पर क्लिक करने के बाद आप ब्राउज़र को फेसबुक एपीआई के साथ एकीकृत करने के लिए एक लिंक पर भेज दिया जाएगा, इसलिए आपको वह रीडायरेक्ट मिलेगा। मेरे मामले के लिए लिंक यह था जहाँ से मुझे redirect_url मिला।

https://www.facebook.com/dialog/oauth?client_id=...&scope=&response_type=code&state=...&redirect_uri=http://127.0.0.1:8080/accounts/facebook/login/callback/

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें


मेरे एमवीसी एप्लिकेशन के लिए, मुझे साइट url में "/ signin-facebook" जोड़ना पड़ा .... अद्भुत टिप के लिए धन्यवाद!
davaus

आप मेरे सप्ताह @ उमर असगर को
बचाएं

11

सुनिश्चित करें कि " ऐप डोमेन " और फेसबुक लॉगिन => वैध OAuth रीडायरेक्ट URIs । वहां आपको www या बिना www की जांच करनी होगी । यह बेहतर है अगर आप php, html, css फ़ाइलों और Fb ऐप सेटिंग्स में सभी URL के लिए www या बिना उपयोग करते हैं।

दूसरी बात यह है कि यदि आप URL के "/" अंत का उपयोग कर रहे हैं, तो आपको उस URL को Valid OAuth की अप्रत्यक्ष अप्रवासी भारतीय सेटिंग्स में जोड़ना होगा । उदाहरण: - https://www.example.com/index.php/ यदि यह url है, तो यदि आप रीडायरेक्ट url में उपयोग कर रहे हैं, तो आपको उस ऐप सेटिंग में सेट करना होगा।

आशा है कि यह मदद होगी।


ऐप डोमेन में आप www
qwertzman

इस पोस्ट फ्रेंड से मेरा क्या तात्पर्य है आप थोड़े भ्रमित हैं
TheBAST

6

मेरे नोड आवेदन के लिए,

"facebook": {
        "clientID" : "##############",
        "clientSecret": "####################",
        "callbackURL": "/auth/facebook/callback/"
    }

कॉलबैक Url रिश्तेदार डाल दिया

मेरा OAuth इस प्रकार से URI को पुनर्निर्देशित करता है

यहाँ छवि विवरण दर्ज करें

यह सुनिश्चित कर लें "/" पर यूआरआई रीडायरेक्ट फेसबुक प्रमाणन के अंत

इन सेटअपों ने मेरे लिए काम किया।


6

मेरे मामले में, मुझे बस यह सुनिश्चित करना था कि मेरे पास अपने यूआरएल और एप्लिकेशन डोमेन और रीडायरेक्ट URL के लिए www के बिना दोनों हैं :

यहाँ छवि विवरण दर्ज करें

मेरे मामले में, मुझे उपयोग करना था: signin-facebookअपनी साइट यूआरएल के बाद, पुनर्निर्देशित यूआरएल के लिए।


क्या ऐप डोमेन की वास्तव में जरूरत है? जब मैंने स्थानीय रूप से परीक्षण किया, तो
डेरियस.वी

क्या आप ऑउथ, और पुनर्निर्देशन का उपयोग करते हैं?
होमन बहरीन 21

हाँ। मैं
सिम्फनी

3

से बदल रहा है hauth.done = फेसबुक को hauth_done = फेसबुक मान्य OAuth रीडायरेक्ट URL में मेरे लिए यह तय हो गई।


1

ठीक है सबसे पहले यह एक बहुत स्पष्ट त्रुटि संदेश है। बस यह देखो कई देवता इसे याद करते हैं जिनमें मेरा स्वयं भी शामिल है। कृपया स्क्रीन शॉट पर एक नज़र डालें।

यहाँ छवि विवरण दर्ज करें

उत्पादों के तहत> फेसबुक लॉगिन> सेटिंग्स

या बस यहाँ इस url पर जाएँ (अपने app आईडी lol के साथ अपने__PP_ID को बदलें):

https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/

यदि आप localhost:3000सुनिश्चित करें कि आप पर काम कर रहे हैंhttps://localhost:3000/auth/facebook/callback

आप स्थिति को लाइव (ऊपरी दाएँ कोने पर ग्रीन स्विच) करना होगा बेशक नहीं करते हैं लेकिन मेरे मामले में, मैं अब Heroku करने की तैनाती कर रहा हूँ और जल्द ही बदल देगा localhost:3000साथhttps://myapp.herokuapp.com/auth/facebook/callback

निश्चित ही मैं सेटिंग्स / बेसिक और सेटिंग्स / एडवांस में यूआरएल को अपडेट करूंगा और बुनियादी अनुभाग में एक गोपनीयता नीति यूआरएल भी जोड़ूंगा।

मैं यह मान रहा हूं कि आपने ठीक से इनिशियलाइज़र / devise.rb कॉन्फ़िगर किया है यदि आप डेविस का उपयोग कर रहे हैं और आपके पास उचित facebook gem 'omniauth-facebook', '~> 4.0'रत्न स्थापित है और gem 'omniauth', '~> 1.6', और आपके पास आपके उपयोगकर्ता तालिका में आवश्यक कॉलम जैसे कि uid, image और प्रदाता हैं। बस।


1

यह किसी की मदद कर सकता है।

मेरे पास समान त्रुटि संदेश था, लेकिन केवल देव और मंचन के वातावरण में, उत्पादन में नहीं। वैध पुनर्निर्देशित यूआरआई सही ढंग से सेट किए गए थे, देव और मंचन उप-उत्पादन के साथ-साथ उत्पादन के लिए।

यह पता चला कि मैं भूल गया कि उन वातावरणों के लिए हम परीक्षण एफबी ऐप का उपयोग करते हैं, जो एफबी डेवलपर पेज में एक अलग है। उसे चुनना था और उसकी सेटिंग्स को अपडेट करना था।



0

अपनी साइट के लॉगिन हेल्पर

$ loginUrl = $ सहायक-> getLoginUrl ('xyz.com/user_by_facebook/', $ अनुमतियाँ);

और फेसबुक एप्लीकेशन डैशबोर्ड में (उत्पाद टैब के तहत: फेसबुक लॉगिन )

मान्य OAuth रीडायरेक्ट URIs का xyz.com/user_by_facebook/ पर भी समान होना चाहिए

जैसा कि पहले वेब से अनुरोध करते समय उल्लेख किया गया था


0

हमारी भी यही समस्या थी, ऐसा बुरा सपना।

  1. सुनिश्चित करें कि आपकी ऐप आईडी और सीक्रेट कीज़ सही हैं। यदि आप परीक्षण के लिए अलग-अलग विकास, मचान और उत्पादन एप्लिकेशन का उपयोग कर रहे हैं, तो ऐप आईडी और गुप्त कुंजी सभी प्रत्येक ऐप के लिए अलग-अलग हैं। यह अक्सर समस्या है।

  2. सुनिश्चित करें कि आपके पास आपकी एप्लिकेशन कॉन्फ़िग फ़ाइल में कॉलबैक URL ठीक से सेट है (नीचे देखें)। और फिर इसे " फेसबुक लॉगिन " सेटिंग्स के तहत एक ही URL के रूप में जोड़ें जहां यह " Valid OAuth रीडायरेक्ट URI " कहता है । यह इस तरह दिखना चाहिए (आपके पर्यावरण पर निर्भर करता है):

http://localhost/auth/facebook/callback http://staging.example.com/auth/facebook/callback http://example.com/auth/facebook/callback

  1. सुनिश्चित करें कि आपका एप्लिकेशन डोमेन प्रत्येक वातावरण के लिए सही डोमेन पर सेट है, जिसमें "www" और "no-www" दोनों शामिल हैं। फेसबुक को आपकी वेबसाइट या ऐप प्लेटफॉर्म के URL से मेल करने के लिए भी इन डोमेन की आवश्यकता होती है। इसे जोड़ने के लिए आपको " Add Platform " का चयन करना होगा ।

वेबसाइट के यूआरएल के साथ रीडायरेक्ट यूआरआई के मिलान की आवश्यकता मेरे लिए संभव नहीं है क्योंकि मेरे रीडायरेक्ट यूआरआई या किसी अन्य सर्वर पर परिभाषित किए गए हैं और मेरी वेबसाइट को अलग सर्वर से सेवा दी गई है, क्या मैं इसके बारे में जा सकता हूं?
जवाद

0

मेरे मामले में, मैं एक रेल एप्लिकेशन ट्यूटोरियल के भीतर फेसबुक लॉगिन को एकीकृत कर रहा था। मैं जोड़ा था http: // localhost: 3000 / adsf मेरी मान्य OAuth पुनर्निर्देशन यूआरआई के लिए, लेकिन रेल एप्लिकेशन के रूप में यूआरएल को खोलने होगा http://0.0.0.0:3000 और इसलिए पर रीडायरेक्ट करने की कोशिश करेगा http: //0.0। 0.0: 3000 / asdf । Valid OAuth Redirect URIs में http://0.0.0.0:3000/asdf जोड़ने के बाद , या http: // localhost: 3000 / asdf में नेविगेट करने पर , यह अपेक्षित रूप से काम करता है।


0

मेरे मामले में, URI, जैसा कि FB पर परिभाषित किया गया था, ठीक था, लेकिन मैं स्प्रिंग सिक्योरिटी का उपयोग कर रहा था और इसे जोड़ा गया था ; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD मेरे URI के लिए, इसलिए यह बेमेल का कारण बना।

https://m.facebook.com/v2.5/dialog/oauth?client_id=your-fb-id-code&response_type=code&redirect_uri=https://localizator.org/auth/facebook;jsessionid=0B9A5E71DAA32A01A3CD351E6CA1FCDD&scope=email&state=b180578a-007b-48bc-bd81-4b08c6989e18

URL रीराइटिंग से बचने के लिए मैंने स्प्रिंग सिक्योरिटी कॉन्फिगरेशन में "url-rewriting =" true " को इस तरह से जोड़ा :

<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true"
      disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint"/> 

और इसने मेरी समस्या को ठीक कर दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.