मैं एक साइट पर फेसबुक के एफबी कनेक्ट और लॉगिन बटन का उपयोग कर रहा हूं।
मैंने इसका उपयोग करने में लॉग इन किया और फिर लॉगिन पर, मैंने पृष्ठ को फिर से लोड किया, मैंने कुकी को PHP में access_token होने की कोशिश की लेकिन ऐसा करने में विफल रहा। निम्नलिखित मेरा js कोड है:
window.fbAsyncInit = function() {
FB.init({
appId : "xxxxxxxx",
status : true,
cookie : true,
xfbml : true,
oauth : true
});
FB.Event.subscribe("auth.login", function(response) {
window.location.reload();
});
};
(function(d){
var js, id = "facebook-jssdk"; if (d.getElementById(id)) {return;}
js = d.createElement("script"); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName("head")[0].appendChild(js);
}(document));
Fb लॉगिन बटन कोड:
<div class="fb-login-button" scope="email,user_checkins" >Login with Facebook</div>
अब जब उपयोगकर्ता फेसबुक का उपयोग करते हुए लॉगिन करता है, तो मैं उसका डेटा access_token का उपयोग करके प्राप्त करने का प्रयास करता हूं, लेकिन कुकीज़ से उस access_token को प्राप्त नहीं कर रहा हूं। मैं निम्नलिखित कोड का उपयोग कर रहा हूं:
$cookie = $this->get_facebook_cookie(APP_ID, APP_SECRET);
echo $cookie["access_token"];
if(isset($cookie["access_token"])){
$user = json_decode(@file_get_contents("https://graph.facebook.com/me?access_token=" .$cookie["access_token"]));
echo $user->id;
if(isset($user->id)){
// my stuff
}
}
मुझे संदेह है कि यह भी कुकी नहीं हो रही है। जबकि यह क्लाइंट की तरफ से लॉग इन होता है। तो मैं PHP में डेटा कैसे प्राप्त कर सकता हूं? PHP पर भी पूरी लॉगिन प्रक्रिया को फिर से दोहराने की आवश्यकता है? मैं इससे कैसे निपटूं?
उत्तर:
जवाब के लिए 0 № 1सिर्फ फेसबुक php sdk का उपयोग क्यों नहीं किया गया है जो स्वचालित रूप से js sdk द्वारा निर्धारित कुकी को लोड करता है? https://github.com/facebook/facebook-php-sdk