gpt4 book ai didi

c# - 使用 Facebook C# SDK 检查 Facebook 登录状态并获取 session 详细信息

转载 作者:行者123 更新时间:2023-11-30 13:04:32 26 4
gpt4 key购买 nike

在前端,我已经初始化了 FB 并使用以下方式登录:

  window.fbAsyncInit = function () {
FB.init({
appId: @facebookAppId, // App ID
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse XFBML
oauth: true
});

// Additional initialization code here
FB.Event.subscribe('auth.login', function () {
window.location = "/facebookPostAuth.aspx";
});

FB.Event.subscribe('auth.logout', function (response) {
window.location = '/logout';
});

// Hack to fix http://bugs.developers.facebook.net/show_bug.cgi?id=20168 for IE7/8/9
FB.UIServer.setLoadedNode = function (a, b) { FB.UIServer._loadedNodes[a.id] = b; };

};

// Load the SDK Asynchronously
(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));

在后端,如何检查是否存在使用 Facebook C# SDK 的登录 session ?

这就是我所拥有的,但我不确定如何传入 APP ID/Secret 以获取更多信息(例如我在登录范围内包含的电子邮件):

 var client = new FacebookClient();
dynamic me = client.Get("me");
string firstName = me.first_name;
string lastName = me.last_name;
string email = me.email;

最佳答案

var client = new FacebookClient(appID, appSecret);

var client = new FacebookClient(accessToken);

您可以使用 javascript SDK 在客户端获取访问 token ,并在 Conceal 的表单字段(常规或 ajax)中将其传递给服务器,或者 C# SDK 公开它在 cookie 和/或签名请求中找到的内容通过 FacebookWebContext.Current.AccessToken。在过去,我发现了一些时间问题,Facebook 没有及时用新的访问 token /签名请求更新 cookie,这就是我用 Javascript 获取它并将其发布到服务器的原因。

关于c# - 使用 Facebook C# SDK 检查 Facebook 登录状态并获取 session 详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com