我正在制作一个网络应用程序,在他/她使用我的网络应用程序登录后,我从他/她的facebook api获取用户的信息。
我有PHP代码,当用户登录我的应用程序时,成功获取用户的offline_access access_token。
但是,我不知道如何处理该令牌。 当我将有关新用户的其他信息插入我的数据库时,是否将其插入数据库中,以便在用户离线时可以访问它? 如果是这样,我应该使用与密码相同的安全性来处理它吗?
非常感谢任何帮助/建议。
答案 0 :(得分:1)
是的,您将令牌存储在数据库中。不,这方面的安全性不是很好。你不能把它当作密码对待,你会盐和哈希密码,但您需要保留原始访问令牌值。这是OAuth的基础,你相信应用程序提供商(你)拥有“王国的钥匙”。
答案 1 :(得分:1)
根据Facebook SDK,您应该存储用户会话(sdk2.x)或仅存储访问令牌(sdk3.x)。存储的最佳位置是数据库。我通常会在创建用户时保存令牌,并在用户登录时刷新已保存的令牌(因为令牌仍然有到期时间)。
然后,当您需要使用令牌(或会话)时,您应该使用
setAccessToken($stored_token)
或
setSession($stored_session)
希望这会有所帮助。
答案 2 :(得分:0)
只有当您需要在自己的墙上张贴而不是用户自己发布时。如果你需要这个功能,这取决于你。