Facebook graph api Facebook c#sdk登录并将访问令牌发布到服务器

Facebook graph api Facebook c#sdk登录并将访问令牌发布到服务器,facebook-graph-api,facebook-javascript-sdk,facebook-c#-sdk,Facebook Graph Api,Facebook Javascript Sdk,Facebook C# Sdk,我正在使用javascript sdk登录并将accesstoken发布到服务器,如FacebookC#sdk入门页面所述。我有一些问题 它使用auth.authResponseChange,每次引发重定向循环时都会激发它 如果我将其更改为auth.login,则仅当用户通过我的站点登录时才会调用它。如果他们已经登录到fb,则此功能不起作用 如何仅将accesstoken发布一次到服务器并将其存储在会话中 如果在服务器上使用oauth身份验证,是否可以将访问令牌传递回javascript sdk

我正在使用javascript sdk登录并将accesstoken发布到服务器,如FacebookC#sdk入门页面所述。我有一些问题

  • 它使用auth.authResponseChange,每次引发重定向循环时都会激发它
  • 如果我将其更改为auth.login,则仅当用户通过我的站点登录时才会调用它。如果他们已经登录到fb,则此功能不起作用
  • 如何仅将accesstoken发布一次到服务器并将其存储在会话中
  • 如果在服务器上使用oauth身份验证,是否可以将访问令牌传递回javascript sdk

    FB.Event.subscribe('auth.authResponseChange', function(response) {
        if (response.status === 'connected') {
            // the user is logged in and has authenticated your
            // app, and response.authResponse supplies
            // the user's ID, a valid access token, a signed
            // request, and the time the access token 
            // and signed request each expire
            var uid = response.authResponse.userID;
            var accessToken = response.authResponse.accessToken;
    
            // TODO: Handle the access token
            // Do a post to the server to finish the logon
            // This is a form post since we don't want to use AJAX
            var form = document.createElement("form");
            form.setAttribute("method", 'post');
            form.setAttribute("action", '/FacebookLogin.ashx');
    
            var field = document.createElement("input");
            field.setAttribute("type", "hidden");
            field.setAttribute("name", 'accessToken');
            field.setAttribute("value", accessToken);
            form.appendChild(field);
    
            document.body.appendChild(form);
            form.submit();
    
        } else if (response.status === 'not_authorized') {
            // the user is logged in to Facebook, 
            // but has not authenticated your app
        } else {
           // the user isn't logged in to Facebook.
        }
    });
    

  • 尝试另一个与身份验证相关的事件:但我仍然需要在每次页面加载时检查loginstatus?您必须将访问令牌传递回JavaScript SDK做什么?我认为从客户端浏览器执行查询和其他操作更有效。例如,我可以通过fql查询来选择like计数,并使用fb friend选择器。您是否设法解决了这个问题?我也有同样的重定向循环的问题,还没有能够解决这个问题!!!任何提示都会有帮助。