0

我在 facebook 上创建了一个应用程序,我正在使用这个应用程序通过 dotnetopenauth 授权用户。

在这里,我将传递 APPID 和 APPSECRET 并获取用于调用 Facebook Graph 以获取 facebook 用户详细信息的令牌。如果我是第一次这样做,用户将被要求在 Facebook 网站上输入用户名/密码,然后在浏览器中创建会话,它将作为 Facebook 用户重定向到我的网站。这意味着如果我在当前窗口中打开一个新标签并打开 facebook,用户将直接看到他/她的页面,而无需询问用户名/密码。- 这是显而易见且可以理解的。

 // code
 request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(strAccessToken)); 
 response = request.GetResponse();

我的查询是:在上述情况之后,如果用户从 Facebook 网站注销或我关闭浏览器窗口,则 Facebook 会话将丢失。但是,我仍然拥有身份验证时获得的访问令牌(上述代码中的字符串)。所以,截至目前,我没有存储来自 Facebook 的任何用户信息(甚至没有 cookie 或其他任何东西)。我只是要求用户将我的应用程序授权为 Facebook 用户。当用户这样做时,我会获得访问令牌,我可以使用它来调用 Graph 和 REST API。这个访问令牌通常保持不变,所以我下次真的不需要传递应用程序 ID 和秘密来获取令牌。实际上,我可以使用存储的令牌请求图形 API 和 REST API 并请求用户详细信息。我已经对此进行了测试并且工作正常。

我正在寻找的是,如果用户打开 www.facebook.com,用户应该看到他/她的个人 facebook 页面,这显然只有当我在当前浏览器中有会话时才有可能。因此,我的问题是:我如何使用我的访问令牌或者我应该使用我的访问令牌进行什么调用,以便我可以为 facebook 用户设置浏览器会话?技术上可行吗?

问候, AG

4

1 回答 1

0

不可以。您的网络服务器使用您的访问令牌来调用 facebook。这不可能(也不可取)以设置 facebook.com cookie 的方式影响用户的浏览器,以便用户通过使用访问令牌隐式登录到 Facebook。

于 2012-09-06T21:32:57.517 回答