1

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

我有 PHP 代码,当他/她登录我的应用程序时,它成功地从用户那里获取了 offline_access access_token。

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

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

4

3 回答 3

1

是的,您将令牌存储在数据库中。不,这方面的安全性不是很好。您不能将其视为密码,您可以对密码进行加盐和哈希处理,但您需要保留原始访问令牌值。这是 OAuth 的基础,您信任应用程序提供商(您)拥有“通往王国的钥匙”。

于 2011-08-10T20:40:24.247 回答
1

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

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

setAccessToken($stored_token)

或者

setSession($stored_session)

希望这有帮助。

于 2011-08-10T20:43:27.753 回答
0

仅当您需要在他们的墙上发帖而不用户自己发布时。如果您需要该功能,这取决于您。

于 2011-08-10T20:39:48.857 回答