2017-12-20 175 views
7

मुझे फेसबुक से एक अधिसूचना मिली है कि वे वैध ओएथ रीडायरेक्ट यूआरआई में सूचीबद्ध यूआरआई से कॉल को अमान्य कर देंगे, यह आने वाले मार्च 2018 और मुझे लगता है कि उन्हें हमें आवश्यकता है रीडायरेक्ट यूआरआई के लिए सख्त मोड सक्षम करें। इसके बारे में लिंक here पाया जा सकता है।सख्त मोड सक्षम के साथ फेसबुक PHP एसडीके का उपयोग कर लॉगिन पर त्रुटि

मैं बिना किसी समस्या के एक साल के लिए सख्त मोड अक्षम के साथ अपने PHP एसडीके का उपयोग कर रहा हूं, हालांकि जब मैं सख्त मोड सक्षम करता हूं और वहां रीडायरेक्ट यूआरएल रखता हूं जो है: https://nino-dot-dynamic-osprey-93721.appspot.com/admin/fb-callback_admin.php - यह हर बार नीचे दिखाई देने वाली त्रुटि देता है I फेसबुक के साथ लॉगिन करने की कोशिश:

Graph returned an error: Can't Load URL: The domain of this URL isn't included in the app's domains. To be able to load this URL, add all domains and subdomains of your app to the App Domains field in your app settings. 

ध्यान दें कि मैं बस अमेरिकन प्लान के डिफ़ॉल्ट पीएचपी एसडीके लॉग इन कोड (https://developers.facebook.com/docs/php/howto/example_facebook_login) जो login.php और अमेरिकन प्लान-callback.php लिंक मौजूद हैं और मैं किसी भी कस्टम OAuth का उपयोग नहीं कर रहा हूँ उपयोग कर रहा हूँ workflows।

मैंने देखा रीडायरेक्ट URL उत्पन्न कि कोड और राज्य पैरामीटर शामिल हों:

site.com/admin/fb-callback_admin.php?code=somecode&state=somestate 

मुझे लगता है कि यही कारण है कि मैं त्रुटि मिल रही है क्योंकि यह केवल की एक रीडायरेक्ट URL की उम्मीद है किसी भी पिछला पैरामीटर के बिना https://nino-dot-dynamic-osprey-93721.appspot.com/admin/fb-callback_admin.php

कैसे तुम लोगों को देखते हुए सख्त मोड को सक्षम करने की इस समस्या के होने का लगता है कि नीचे दिए गए कोड के माध्यम से रीडायरेक्ट URL की प्रतिक्रिया:

$helper = $fb->getRedirectLoginHelper(); 
$permissions = ['email']; // Optional permissions 
$loginUrl = $helper->getLoginUrl('https://nino-dot-dynamic-osprey-93721.appspot.com/admin/fb-callback_admin.php', $permissions); 
echo htmlspecialchars($loginUrl); 

डिफ़ॉल्ट रूप से अमेरिकन प्लान के पीएचपी एसडीके से उत्पन्न होता है?

+0

है त्रुटि संदेश दर्शाता है कि आप एक डोमेन बात यह है कि मेल नहीं खाता के साथ एक रीडायरेक्ट URI का उपयोग करने की कोशिश कर रहे हैं ऐप सेटिंग्स। – CBroe

उत्तर

14

बदलें

$accessToken = $helper->getAccessToken() 

$accessToken = $helper->getAccessToken('http://www.example.com/admin/fb-callback_admin.php'); 

को मैं एक ही मुद्दा था और इस सूत्र है, जो मेरे लिए समस्या का समाधान करने लगता है में इस उत्तर मिला:

Graph returned an error: Can't Load URL: The domain of this URL isn't included in the app's domains

यह सुनिश्चित नहीं है कि यह क्यों काम करता है, लेकिन खुश है।

+0

वाह, यह चाल है। आपको बहुत - बहुत धन्यवाद! यदि आप ** कोडिग्निटर ** का उपयोग कर रहे हैं, तो आप ** आवेदन/पुस्तकालय/facebook.php ** में कोड की उस पंक्ति को ** ** प्रमाणित ** के अंतर्गत पा सकते हैं। बस इस बदलें: '$ ACCESS_TOKEN = $ this-> helper-> getAccessToken();' इस के लिए : '$ ACCESS_TOKEN = $ this-> helper-> getAccessToken (SITE_URL ('अपने कॉलबैक URL')); ' –

+1

धन्यवाद! यह मेरे लिए भी काम किया! मुझे एफबी के PHP एसडीके गिटहब (https://github.com/facebook/php-graph-sdk/issues/877) में उठाए गए मुद्दों में से एक में भी वही समाधान मिला। स्पष्ट रूप से वे कॉलबैक यूआरएल से 'कोड' परम को पट्टी करने के लिए एसडीके पर एक बग फिक्स करने की योजना बना रहे हैं। – pmichael16

+0

धन्यवाद साइमन! मैंने एक फिक्स खोजने की कोशिश कर घंटों बिताए थे। आपने मेरा दिन बचा लिया! – Vaeianor

0

मुझे एक ही समस्या का सामना करना पड़ रहा था, दरअसल, यह फेसबुक ग्राफ एसडीके से आता है।

मैं here

इसके अलावा, एक त्वरित और गंदी परिवर्तन यह है कि इस त्रुटि मुझे पैरामीटर की सूची में 'कोड' FacebookRedirectLoginHelper

में दूर करने के लिए जोड़ने के लिए किया गया था ठीक करने के लिए लग रहा था से यह जानकारी मिली

बाद में फेसबुक ने अद्यतन पैकेज जारी किया जो इस मुद्दे को ठीक करता है।

सुनिश्चित करें कि आप इस उत्तर के समय facebook-graph-sdk के नवीनतम संस्करण है, संस्करण 5.6.2

संबंधित मुद्दे