Facebook php-api:根据我的应用程序验证用户详细信息';的政策


Facebook php api: Verify user details according to my app's policy

我使用以下表单允许用户通过他们的facebook帐户注册到我的网络应用程序。我有自己的关于用户名长度、密码复杂性等的政策,我想强制通过facebook注册的用户也这样做,我知道我可以在register.php文件中这样做(facebook php-api:根据我的应用程序政策验证用户详细信息,见下文),但从facebook的角度来看,用户已经注册了。

那么,我的问题是,如果不提供符合我的应用程序政策的注册详细信息,我如何阻止用户注册到我的应用?

<div id="fb-root"></div>
  <script type="text/javascript">
    window.fbAsyncInit = function() {
      FB.init({
        appId      : 'MY_FB_APP_ID',
        channelUrl : 'channel.html', 
        status     : true, 
        cookie     : true, 
        oauth      : true, 
        xfbml      : true  
      });
      FB.Event.subscribe('auth.login', function(response) {
        window.location.reload();
      });
      FB.Event.subscribe('auth.logout', 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));
  </script>
  <div class="fb-registration"
   data-fields='[{"name":"name"},
                 {"name":"birthday"},
                 {"name":"location"},
                 {"name":"gender"},
                 {"name":"email"},
                 {"name":"username","description":"Username","type":"text"},
                 {"name":"password"}]'
   data-redirect-uri= MY_DOMAIN . "register.php" >
  </div>

您可以对/user/permissions进行DELETE调用。由于这会让用户重新验证你的应用程序,我不会在用户试图在你的网站上创建无效注册时立即这样做。相反,根据您的复杂性,当用户永远离开您的注册页面时,发出DELETE调用。

根据文件:

你可以做的第二件事是完全取消对应用程序的授权进行删除调用。一旦完成,任何使用您的应用程序的人都将必须像新用户一样完成Facebook登录过程使用者当显式"注销"函数提供,或删除应用内帐户的选项