我是否要在用户数据库中存储facebook用户的offline_access令牌?

时间:2011-08-10 20:15:25

标签: facebook access-token

我正在制作一个网络应用程序,在他/她使用我的网络应用程序登录后,我从他/她的facebook api获取用户的信息。

我有PHP代码,当用户登录我的应用程序时,成功获取用户的offline_access access_token。

但是,我不知道如何处理该令牌。 当我将有关新用户的其他信息插入我的数据库时,是否将其插入数据库中,以便在用户离线时可以访问它? 如果是这样,我应该使用与密码相同的安全性来处理它吗?

非常感谢任何帮助/建议。

3 个答案:

答案 0 :(得分:1)

是的,您将令牌存储在数据库中。不,这方面的安全性不是很好。你不能把它当作密码对待,你会盐和哈希密码,但您需要保留原始访问令牌值。这是OAuth的基础,你相信应用程序提供商(你)拥有“王国的钥匙”。

答案 1 :(得分:1)

根据Facebook SDK,您应该存储用户会话(sdk2.x)或仅存储访问令牌(sdk3.x)。存储的最佳位置是数据库。我通常会在创建用户时保存令牌,并在用户登录时刷新已保存的令牌(因为令牌仍然有到期时间)。

然后,当您需要使用令牌(或会话)时,您应该使用

setAccessToken($stored_token)

setSession($stored_session)

希望这会有所帮助。

答案 2 :(得分:0)

只有当您需要在自己的墙上张贴而不是用户自己发布时。如果你需要这个功能,这取决于你。