anchor.diff:  
     window.fbAsyncInit = function() {
       FB.init({
  -      appId      : '#{app.get("stormpathSocial").facebook.appId}',
  +      appId      : '#{facebookClientId}',
         cookie     : true,
         xfbml      : true,
  -      version    : 'v2.0'
  +      version    : 'v2.3'
       });
     };
   
     (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'));
  +    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'));
  
positive.code: button.btn.btn-social.btn-facebook(onclick='facebookLogin()') Facebook
  script(type='text/javascript').
    function facebookLogin() {
      var FB = window.FB;
      var facebookScopes = '#{app.get("stormpathSocial").facebook.scopes}';
      var scopes = [];
  
      if (facebookScopes.length) {
  
negative.code:     FB.login(function(response) {
        if (response.status === 'connected') {
          var queryStr = window.location.search.replace('?', '');
          // TODO make dynamic
          if (queryStr) {
            window.location.replace('/callbacks/facebook?' + queryStr + '&access_token=' + response.authResponse.accessToken);
          } else {
            window.location.replace('/callbacks/facebook?access_token=' + response.authResponse.accessToken);
          }
        }
      }, {scope: 'email' + (scopes ? ',' + scopes : '')});
  