Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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 Javascript SDK连接,是否可以始终询问用户_C#_Facebook_Facebook Javascript Sdk_Facebook Login_Facebook Graph Api V2.2 - Fatal编程技术网

C# 即使已经使用Facebook Javascript SDK连接,是否可以始终询问用户

C# 即使已经使用Facebook Javascript SDK连接,是否可以始终询问用户,c#,facebook,facebook-javascript-sdk,facebook-login,facebook-graph-api-v2.2,C#,Facebook,Facebook Javascript Sdk,Facebook Login,Facebook Graph Api V2.2,我有一个用C#编写的MVC5项目,我使用Facebook Javascript SDK,我想知道在使用Facebook登录时是否可以始终询问用户 示例场景: 用户使用Facebook登录到我的网站,但他没有注销。他的会话已从我的网站过期,但他的Facebook仍将登录。用户B使用同一台计算机使用Facebook登录,因为用户A没有注销他的Facebook,用户B将自动使用用户A的Facebook帐户登录,在允许用户登录之前,我需要类似“这是你的Facebook帐户吗?”的提示。这是Faceboo

我有一个用C#编写的MVC5项目,我使用Facebook Javascript SDK,我想知道在使用Facebook登录时是否可以始终询问用户

示例场景:

用户使用Facebook登录到我的网站,但他没有注销。他的会话已从我的网站过期,但他的Facebook仍将登录。用户B使用同一台计算机使用Facebook登录,因为用户A没有注销他的Facebook,用户B将自动使用用户A的Facebook帐户登录,在允许用户登录之前,我需要类似“这是你的Facebook帐户吗?”的提示。这是Facebook提供的吗?我正在四处查看,但到目前为止运气不好,“response.status”已“connected”之后无法调用“FB.login”

我的代码:

FB.getLoginStatus(function (response) {
            if (response.status === 'connected') {
                $('#btnFBlogin').click(function () {
                    FB.api('/me', function (response) {

                    location.href = BASE_URL + 'Membership/LogInWithFacebook';
                });
            })
        } else {
            $('#btnFBlogin').click(function () {
                FB.login(function (response) {
                    if (response.status === 'connected') {
                        FB.api('/me', function (response) {
                            location.href = BASE_URL + 'Membership/LogInWithFacebook';
                        });
                    }
                }, { scope: 'email,user_birthday' });
            })
        }
    });

任何帮助都将不胜感激。

流程应如下所示:

  • 你应该有一个自定义的登录按钮(不是默认的fb登录按钮),不确定,但我猜你只使用自定义按钮

  • 单击时,检查用户是否已使用
    FB.getLoginStatus()
    连接

  • 如果是,请使用
    FB.logout()
    从facebook注销用户,然后使用
    FB.login()

  • 如果没有,请使用
    FB.login()
    登录用户


  • 代码

    $('#btnFBlogin').click(function () {
         FB.getLoginStatus(function (response) {
              if (response.status === 'connected') {
                  FB.logout(function(response) {
                     Login();
                  });
              }else{
                  Login();
              }
         });
    });
    
    function Login(){
        FB.login(function (response) {
           if (response.status === 'connected') {
              FB.api('/me', function (response) {
                 location.href = BASE_URL + 'Membership/LogInWithFacebook';
              });
           }
        }, { scope: 'email,user_birthday' });
    }
    

    但是如果同一个用户再次尝试登录怎么办?他需要再次输入凭据?如果用户共享他们的计算机而不注销某些服务,那么这基本上就是他们的问题。