http://wiki.developers.facebook.com/index.php/Trying_Out_Facebook_Connect
FaceBook Connect is used to quickly integrate your site with Facebook account.
I look into http://www.somethingtoputhere.com/therunaround/index.php demo site using FackBook Connect, and come to some results:
1. Click “Connect with FaceBook” button, a popup window appears.
It’s a page of FaceBook: http://www.connect.facebook.com/login.php
2. Login to FaceBook use your account, the result is:
<html><head><title>Redirecting…</title><meta http-equiv=”refresh” content=”0;url=http://www.somethingtoputhere.com/therunaround/xd_receiver.php?fb_login&fname=_opener&session=%7B%22session_key%22%3A%223.TaTfPjET3u……” /></head><body></body></html>
3. The page is redirect to
http://www.somethingtoputhere.com/therunaround/xd_receiver.php, the user session is passed in.
Let’s look at the JavaScript file contains in the xd_receiver.php.
I have modify the js file to show the main logic:
var pathname = document.URL; hashIndex = pathname.indexOf('fb_login&'); hash = pathname.substring(hashIndex + 9); var packetStart = hash.indexOf('&'); // "_opener" var frame_name = hash.substr(6, packetStart-6); if(frame_name == "_opener") { hostWindow = hostWindow.opener; } // "%7B%22session_key%22%3A%223.TaTfPjET3u......" packet_string = hash.substr(packetStart+1); hostWindow.FB.XdComm.Server.singleton.onReceiverLoaded(packet_string);
4. Now your site receive the FaceBook account identification.