IOS SDK Facebook SSO - 用户从Facebook外部应用程序注销?

时间:2011-11-12 19:58:32

标签: iphone ios facebook

使用Facebook IOS SDK进行单点登录(SSO)的说明是在fbDidLogin中保存访问令牌和到期日期,并在后续调用中使用它们以避免不必要的登录。

但是,如果用户在应用程序外注销Facebook(例如在Facebook应用程序或Safari中),该怎么办?该应用程序不知道这一点,因此它尝试使用保存的令牌和到期日期,令我惊讶的是 - 它们仍然有效,即使用户已经注销,应用程序也可以访问用户的数据。

有什么方法吗?

1 个答案:

答案 0 :(得分:2)

不,没有办法做到这一点。用户进行的每个FB登录都是特定于他们登录的客户端。 FB登录不是所有客户端的通用。您从SDK获得的FB令牌是该用户使用您的应用程序的令牌。因此,如果用户在其浏览器或其他应用程序中注销了FB,则他们没有从您的应用程序中记录FB,因此该令牌将一直有效,直到它过期或应用程序或用户明确退出应用程序的上下文。

不确定为什么你这么担心。通常,您希望您的用户保持登录状态。如果您有理由不这样做,则在授权FB用户时不要求“offline_access”权限,您也可以通过FB注销和取消授权用户API基于您认为合适的标准。