Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook:用户注销后,用户访问令牌仍然有效?_Facebook - Fatal编程技术网

Facebook:用户注销后,用户访问令牌仍然有效?

Facebook:用户注销后,用户访问令牌仍然有效?,facebook,Facebook,我一直在寻找,但没有找到一个具体的解决办法。我的FB应用程序的用户获得FB访问令牌,然后手动注销FB,该令牌仍然有效。为什么?这是虫子吗?如何确定用户是否已注销FB? 无论我使用什么后端,我都可以手动从FB注销,并将url设置为like,这样我就可以获得有关该用户的所有信息。 看:场景4。令牌必须无效 我需要的是确定哪个FB用户当前正在我的FB canvas站点上执行操作。FBAPI为可以获取用户数据的自定义画布应用程序提供了一个入口点:应用程序的画布url(解析签名的\u请求字符串)。从那一点

我一直在寻找,但没有找到一个具体的解决办法。我的FB应用程序的用户获得FB访问令牌,然后手动注销FB,该令牌仍然有效。为什么?这是虫子吗?如何确定用户是否已注销FB?
无论我使用什么后端,我都可以手动从FB注销,并将url设置为like,这样我就可以获得有关该用户的所有信息。
看:场景4。令牌必须无效
我需要的是确定哪个FB用户当前正在我的FB canvas站点上执行操作。FBAPI为可以获取用户数据的自定义画布应用程序提供了一个入口点:应用程序的画布url(解析签名的\u请求字符串)。从那一点看,我应该创建cookie或任何东西来记住用户的凭据(id、令牌),并将其用于将来的操作。这并不是很好,因为用户可以在不同的浏览器选项卡中使用另一个FB帐户重新登录,并在旧帐户下继续使用我的应用程序。
嗯,如果我想知道当前用户,那么我需要在每次后端操作之前检查其访问令牌的有效性。我将用户重定向到auth页面(如果还没有),并将其数据存储在cookie中。每次下一次操作,我都会从cookie中提取用户信息,并使用存储的访问令牌。但现在,当令牌有效时,即使用户已从FB注销,我也看不到维护令牌的方法:(
请帮忙!
谢谢。
更新!
刚刚发现我可以为同一用户获得不同的访问令牌:
1) 从my canvas Url的signed_request参数提取的令牌工作正常,一旦用户注销,该令牌就会失效 2) 当服务器端身份验证流(重定向到?..,在指定的重定向\u uri处捕获代码,使用?..交换令牌上的代码)时,代码被交换到的令牌-好的,这个令牌保持长时间的活动状态。
看来我需要处理第一个案子。无论如何,这一切对我来说还不够清楚。
更新2

嗯,是的。声明使用签名的请求令牌,否则,如果设置为未经身份验证,则运行身份验证流并通过其他方式获取令牌。最后一种方法是生成令牌,如果用户注销应用程序,该令牌将保持活动状态。

好的,临时解决方案是只使用canvas url操作的signed_请求参数中给出的令牌