Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 授权Facebook API时强制用户登录Facebook_C#_.net_Facebook Graph Api_Facebook C# Sdk - Fatal编程技术网

C# 授权Facebook API时强制用户登录Facebook

C# 授权Facebook API时强制用户登录Facebook,c#,.net,facebook-graph-api,facebook-c#-sdk,C#,.net,Facebook Graph Api,Facebook C# Sdk,我已经看到了很多关于这方面的问题,但是由于Facebook更新了他们的API,大多数问题都已经过时了 我有一个网站,人们可以通过将访问令牌存储在该用户上,将其帐户与Facebook帐户绑定。这很有效 然而问题是,如果人们可以来来去去,我有一个选择,那就是人们可以在一台共享计算机上当场将他们的Facebook连接到他们的帐户。 但通过在这台公共计算机上授权应用程序,他们也将自动登录Facebook,因此任何人都可以访问Facebook,从而进入以前的Facebook。 但问题还在于,下一个将自己的

我已经看到了很多关于这方面的问题,但是由于Facebook更新了他们的API,大多数问题都已经过时了

我有一个网站,人们可以通过将访问令牌存储在该用户上,将其帐户与Facebook帐户绑定。这很有效

然而问题是,如果人们可以来来去去,我有一个选择,那就是人们可以在一台共享计算机上当场将他们的Facebook连接到他们的帐户。 但通过在这台公共计算机上授权应用程序,他们也将自动登录Facebook,因此任何人都可以访问Facebook,从而进入以前的Facebook。 但问题还在于,下一个将自己的账户绑定到Facebook的人将自动获得之前的人已经授权的accesstoken,因为已经登录的用户已经授权了该应用

当用户按下绑定Facebook按钮时,是否有一种方法可以强制用户授权他们的Facebook?或者,在我们收到accessToken后,有没有办法让用户从Facebook注销? 我对Twitter也有同样的问题,但我会把这个问题留给另一个问题


提前感谢。

我找不到强制用户登录的解决方案(问题是他们是否已经登录并获得授权),但如果用户登录并获得授权,我使用javascript SDK注销用户;如果用户登录但未获得授权或根本未经授权,则他至少会获得登录表单 在连接到Facebook页面上,我运行了这个javascript,它将自动注销注册和授权的用户,这意味着下一个登录到Facebook帐户的人现在将获得一个清晰的登录屏幕

window.fbAsyncInit = function() {
    FB.init({
        appId: 'AppIdStringHere',
      status     : true,
      xfbml      : true
    });
    FB.getLoginStatus(function (response) {
        if (response.status === 'connected')
        {
            //alert("Authorized");
            FB.login(function () {
                FB.logout(function (response) {
                });
            }, { scope: 'publish_actions' });
        }
        else if (response.status === 'not_authorized')
        {
            //alert("Logged in but not authorized");
        }
        else
        {
            //alert("Not logged in");
        }
    });
};

  (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/all.js";
     fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

你不需要编写代码。您可以在facebook开发者控制台上找到解决方案

  • 进入你的应用程序
  • 进入右侧菜单的Facebook登录/设置
  • 设置为“是”选项强制Web OAuth重新验证
那很好