如何使用Facebook的api登录我的应用程序(网站),但让我登录facebook.com?
这让我很好:
window.fbAsyncInit = function() { FB.init({ appId : '<?= APP_ID ?>',status : true,cookie : true,xfbml : true,oauth : true,}); FB.Event.subscribe('auth.login',function(response) {alert(response); window.location = 'http://reviewsie.com/accounts/facebook'; }); }; (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));
但是我点击我的网站上的注销,我将我的会话杀死到我的应用程序.然后,当你再次点击fb:login-button时,它只是打开和关闭,并没有做任何事情,因为我仍然连接到Facebook.我希望它重定向.
但是,如果我退出时我也使用Facebook :: logoutUrl,它会将我从我的应用程序和Facebook中导出,这不是我想要的.
如果您使用fb登录,您确定只想注销您的应用程序,而不是fb吗?什么样的应用程序可能想要做这样的事情?为什么?这样做有什么好处?
原文链接:https://www.f2er.com/php/133184.html但是如果你真的想(hack),请在index.PHP中:
<?PHP require 'init.PHP'; // general init require 'init_fb.PHP'; // sets $fb_id if logged in to fb if (isset($fb_id) and !isset($_SESSION['do_not_auto_login'])) { echo "<a href='/logout'>logout</button>"; include 'app.PHP'; return; } if (isset($_SESSION['do_not_auto_login']) echo "<a href='/re_login'>FB Login</button>"; else include 'html_and_js_fb_login_code_and_button.PHP'; include 'startpage.PHP'; ?>
$_SESSION['do_not_auto_login'] = true; // destroy-code
在re_login.PHP中:
unset($_SESSION['do_not_auto_login']); header("location: /"); // re-direct back to index.PHP
不完美,但效果有点好.希望你得到黑客!
但是,为什么呢?如果您认为您的用户不想回来,请询问“如何从用户中删除我的fb-app?”或者别的东西或尝试@DMCS的答案..为什么?