我使用以下表单允许用户通过他们的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登录过程使用者当显式"注销"函数提供,或删除应用内帐户的选项