Sunday, April 27, 2014

Authenticate your website using Facebook API

<script type="text/javascript" language="javascript"> 
     window.fbAsyncInit = function () {
          FB.init({
                appId: 'app API' // Add Apllication API
                status: true, // check login status
                cookie: true, // enable cookies to allow the server to access the session
                xfbml: true// parse XFBML
                oauth: true
                });



           // Here we subscribe to the auth.authResponseChange JavaScript event. This event is fired
          // for any authentication related change, such as login, logout or session refresh. This means that
          // whenever someone who was previously logged out tries to log in again, the correct case below
          // will be handled.

      FB.Event.subscribe('auth.authResponseChange', function (response) {
          // Here we specify what we do with the response anytime this event occurs.
          if (response.status === 'connected') {
                  // The response object is returned with a status field that lets the app know the current
                  // login status of the person. In this case, we're handling the situation where they
                  // have logged in to the app.
              testAPI();
            } else if (response.status === 'not_authorized') {
                // In this case, the person is logged into Facebook, but not into the app, so we call
                      // FB.login() to prompt them to do so.
                      // In real-life usage, you wouldn't want to immediately prompt someone to login
                     // like this, for two reasons:
                     // (1) JavaScript created popup windows are blocked by most browsers unless they
                     // result from direct interaction from people using the app (such as a mouse click)
                    // (2) it is a bad experience to be continually prompted to login upon page load.
              FB.login();
             } else {
                  // In this case, the person is not logged into Facebook, so we call the login()
                      // function to prompt them to do so. Note that at this stage there is no indication
                      // of whether they are logged into the app. If they aren't then they'll see the Login
                     // dialog right after they log in to Facebook.
                     // The same caveats as above apply to the FB.login() call here.
              FB.login();
             }
         });
   };


// Load the SDK asynchronously
       (function (d) {
   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];  
      if (d.getElementById(id)) { return; }
         js = d.createElement('script'); js.id = id; js.async = true;
         js.src = "//connect.facebook.net/en_US/all.js";
      ref.parentNode.insertBefore(js, ref);
         } (document));



 // Here we run a very simple test of the Graph API after login is successful.
 // This testAPI() function is only called in those cases.
  
  function testAPI() {
console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
         console.log('Good to see you, ' + response.name + '.');
     });
  }; 

</script>



<div class="fb-login-button" data-max-rows="1" data-size="large" data-show-faces="false"

            data-auto-logout-link="true" data-scope="offline_access,user_status,publish_stream,email,read_stream,manage_pages,user_groups"> </div>





Settings
In addition to the settings above, you can also change the following:
Setting
HTML5 Attribute
Description
Options
auto_logout_link
data-auto-logout-link
If enabled, the button will change to a logout button when the user is logged in.
false, true
max_rows
data-max-rows
The maximum number of rows of profile photos in the Facepile whenshow_faces is enabled. The actual number of rows shown may be shorter if there aren't enough faces to fill the number you specify.
int
onlogin
onlogin
A JavaScript function to trigger when the login process is complete.
Function
scope
data-scope
The list of permissions to request during login.
basic_info(default) or a comma separated list of permissions
size
data-size
Picks one of the size options for the button.
small,medium,large,xlarge
show_faces
data-show-faces
Determines whether a Facepile of logged-in friends is shown below the button. When this is enabled, a logged-in user will only see the Facepile, and no login or logout button.
false, true

No comments:

Post a Comment