c# - 基于有效的离线访问 key (无限 session key )创建 Javascript Facebook Connect session

标签 c# javascript facebook

我整个星期六都在 Google 上筋疲力尽。认真的善业属于任何能提供帮助的人。

我正在使用 .NET Facebook 工具包 V3 针对 Facebook 对我的用户进行身份验证。当用户授予 offline_access 权限时,我会存储 session key 。当他们稍后返回时没有 facebook session (但对我的网络应用程序有有效 session )。

我从数据库中获取 key 并将其应用于 Facebook.Session,如下所示:

    facebookAPI.Session.SessionKey = offlineAccesSessionKey;
    facebookAPI.Session.UserId = (long)fuid;

像魔术一样工作。

现在是问题:

如何将这个无限 session key 与 Javascript API 和 FBML 一起使用?

我可以将 session key 传递给客户端,但是然后呢? 获取授权?设置 session ?无法让它工作,尽我所能尝试,但不确定它是否对我的 FBML 有帮助。

我已经试过了:

    facebookAPI.Auth.Session.UserId = (long)fuid;
    facebookAPI.Auth.Session.SessionKey = offlineAccesSessionKey;
    facebookAPI.Auth.Session.SessionSecret = _facebookAPI.Session.SessionSecret;
    facebookAPI.Auth.PromoteSession();

希望它能复制 cookie,我可以在客户端获取它们,但没有成功。

这似乎是一种很常见的情况,但我的“专家”Google 技能却变成了零。

有没有人有任何经验可以提供帮助?

最佳答案

据我所知,Facebook 的 JS API 在使用时会生成自己的 session (如果我错了请纠正我)。该 session 是临时的,因此无法在服务器上使用其 token 。

您可以做的是将 uid 与(无限) token 一起存储在数据库中。然后使用 JS API,您可以从客户端获取 uid,发送到服务器,然后从数据库中检索 token 。然后,您可以代表用户进行正常的服务器端连接。

希望对你有帮助。

关于c# - 基于有效的离线访问 key (无限 session key )创建 Javascript Facebook Connect session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395271/

相关文章:

c# - 有没有 Eclipse C# Highlight, Code Completion 插件

c# - 防止窗口显示在 alt 选项卡中

c# - 使拆分器对拆分面板可见

javascript - 在单击标签中的内容后应用 closeAll 后保持 <details> 标签打开

javascript - 使用 ng-include 导致未定义

php - 在 Joomla 中添加来自 MySQL 的开放图数据

c# - telerik radMenu 显示为 radWindow

javascript - 如何在 Javascript 中的嵌套数组中的过滤器内进行过滤

ios - 我在哪里下载 FBProfileExpressionKit?

facebook - 从完成处理程序获取数据 - FBRequestConnection