验证会话在Facebook Connect中有效

时间:2011-10-15 22:26:16

标签: php javascript html facebook

在一个实例中,我通过AJAX将所有Facebook会话数据发送到我们的服务器 服务器需要验证会话是否合法。我在stackoverflow上找到了这个:Verifying a Facebook Connect session

它表示要创建一个字符串,如:

access_token=1290380d9e&expires=92d903&secret=e9cj9kd&session_key=s49i9i3f&uid=12345

然后添加你的app密钥,所以我假设字符串看起来像:

access_token=1290380d9e&expires=92d903&secret=e9cj9kd&session_key=s49i9i3f&uid=12345&app_secrete=23132132

此字符串的md5()应与会话数据中的sig匹配 但它永远不会这样,所以我只是想知道这是否是一种合法的方式,或者如果我没有做到这一点。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

该技术有效,但您引用的描述有一些值得注意的错误。

首先,应该没有'&'字符串中的字符。我知道它看起来很奇怪,但只是把它们留下来,所以格式就像NAME = VALNAME = VALNAME = VAL。

其次,不要试图只包括一个固定的参数列表,如列出的五个参数。相反,包括除“sig”之外的所有可用参数。否则,只要Facebook添加或重命名任何参数,您的代码就会中断。并确保按字母顺序排列。

生成类似的字符串,你的md5哈希应始终匹配。