2013-07-09 12 views
7

प्रिय स्टैक ओवरफ्लोवियनर्स! प्रिय फेसबुक डेवलपर्स!सत्र को अवैध कर दिया गया है क्योंकि उपयोगकर्ता ने पासवर्ड बदल दिया है -> कोई पासवर्ड नहीं बदला गया

मैंने कुछ हफ्ते पहले एक फेसबुक-ऐप जोड़ा था। इस समय यह पूरी तरह से काम किया। मेरा PHP-Script जांचता है कि access_token समाप्त होने से कम से कम 10 दिन पहले है (यह स्वचालित रूप से पहले एक लंबी समाप्ति तिथि पर सेट है) और यदि ऐसा है (if> = समाप्ति दिनांक - 10) यह उसी उपयोगकर्ता के लिए एक नया access_token प्राप्त करने का प्रयास करता है (जो मैं हूं, खुद और मैं)।

समस्या है कि कल के बाद से यह मुझे एक त्रुटि फेंकता है:

Fatal error: Uncaught OAuthException: Error validating access token: The session has been invalidated because the user has changed the password. 

अब मेरी सवाल यह है: के रूप में मैं कभी नहीं FB पर मेरा पासवर्ड बदला था यह कैसे इस त्रुटि को फेंक कर सकते हैं ???

क्या किसी के पास इस मुद्दे को हल करने के लिए सही दिशा में मेरे लिए कोई इशारा है? मैं किसी भी मदद के लिए बहुत आभारी हूं।

सादर,

AceLine

+0

नहीं इतना एक ही बार में !!! ; ओ) –

+0

मैं एक ही समस्या के साथ हूँ .. ओओ कैसे? – Crasher

उत्तर

0

असल में वहाँ अपने प्रवाह में कुछ भी गलत नहीं है। जब टोकन समाप्त हो जाता है तो यह वास्तव में उस त्रुटि को फेंकता है।

हमें पहले इस तरह की त्रुटि का अनुभव हुआ है और हमने क्या किया है हम नियमित रूप से जांचते हैं कि accessToken अभी भी वैध है अगर यह नहीं है तो हम एक नया उत्पन्न करते हैं और सहेजते हैं। हालांकि, जब हम accessToken सेट करते हैं जिसका उपयोग किया जाएगा हम स्थानीय डेटाबेस में इसे सहेजने से पहले टोकन का जीवन भी बढ़ाएंगे। देखें extendedAccessToken

यहां नमूने के अद्यतन है (यह सिर्फ एक किसी न किसी तरह कोड है):

// Set the access token and extend it 
$facebookClient = new FacebookClient(); 
$facebookClient->setAccessToken($accessToken); 
$facebookClient->setExtendedAccessToken(); 

// Query your user that will have the updated access token and update it. 
$user = User::get($userId); 
$user->accessToken = $facebookClient->getAccessToken(); 
$user->update(); 
संबंधित मुद्दे