当浏览器重定向到新页面时,应该重用Facebook令牌还是重用Facebook会话?

时间:2014-10-15 18:20:46

标签: facebook session web token

在使用Facebook会话从网站与用户的Facebook数据进行交互时,应该何时保留Facebook会话以及应该何时保留facebook令牌?

在特定页面上建立facebook会话后,如果会话被保存并重新使用,或者是否应保存facebook令牌并从该facebook令牌创建新的facebook会话,浏览器将被重定向到新页面?

此?

$session = new FacebookSession($_SESSION['token']);

还是这个?

$token = $_SESSION['session']->getToken();

1 个答案:

答案 0 :(得分:1)

你没有指定你的应用程序的环境(画布,网站等),所以我做了很多假设但是......

我只使用画布应用程序,并且在大多数情况下,PHP SDK将在正确设置时为您处理所有这些(例如,如果用户在您的应用程序中打开新选项卡)。如果您需要在没有任何登录流程的情况下向另一个页面发出请求(就像您要求的那样),我只需保存访问令牌并从那里创建会话。每次用户登录我的应用程序时,我都会将其访问令牌保存到我的数据库中。当他们使用我的应用程序时,我可以使用该访问令牌来调用用户不与之交互的页面,但仍然可以获得我需要的FB信息。一段时间后令牌过期,但当用户与我的应用程序进行交互时,我不需要担心它们会过期,因为我将在未来某个时间点再次登录时获取新令牌。

所以只需保存令牌并将其与用户ID匹配即可。然后使用该令牌创建您需要的会话。如果您需要与用户退出应用程序时远远超出的信息进行交互,则可能需要延长生命访问令牌。

https://developers.facebook.com/docs/facebook-login/access-tokens/#extending