The Basics
jQuery Plugin to simplify the process of requesting Facebook permissions, such that you only proceed forward in sign-up once the user has granted all you require.
Installation
Basically just include the file and set up the Facebook API on the page.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="/libs/jquery-facebook-authorize/jquery.facebook-authorize.min.js"></script> <script> window.fbAsyncInit = function() { FB.init({ appId : XXXXXXXXXXXXXXXXXXXXXXX, cookie : true, xfbml : true, /* parse social plugins on this page. */ version : 'v2.5' }); }; (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <div id='error_msgs'></div> <div class='row'> <button id='facebook_request' class="btn btn-default" style="color:#0b62a4;"> <i class="fa fa-facebook-square"></i> Login with Facebook </button> </div> <script> $(function() { var $fbreq = $('#facebook_request'); var options = {required : ['public_profile', 'email', 'user_friends', 'publish_actions'], optional: []}; $fbreq.facebookAuthorize(options); $fbreq.on('facebook-request-clicked', function(event) { $('#error_msgs').empty(); }); $fbreq.on('facebook-missing-required', function(event, missing) { $('#error_msgs').text('missing: ' + JSON.stringify(missing)); }); $fbreq.on('facebook-success', function(event, granted, missing, details) { /* move the user onto whatever step applies. */ createOrLogin(granted, details); }); $fbreq.on('facebook-not-authorized', function(event) { $('#error_msgs').text('not authorized'); }); $fbreq.on('facebook-not-loggedin', function(event) { $('#error_msgs').text('not logged in...'); }); }); </script>
Usage
Name | Type | Default | Description |
---|---|---|---|
required | array | [] |
List of required permissions. |
optional | array | [] |
List of optional permissions. |
Events
Event | Handler |
---|---|
facebook-request-clicked |
function(event) : - event - jQuery event |
facebook-missing-required |
function(event, missing) : - event - jQuery event - missing - comma separated string of missing required permissions |
facebook-success |
function(event, granted, missing, details) : - event - jQuery event - granted - comma separated string of all permissions granted - missing - comma separated list of any missing optional permissions - details - Facebook API response.authResponse object |
facebook-not-authorized |
function(event) : - event - jQuery event |
facebook-not-loggedin |
function(event) : - event - jQuery event |