2

我打电话

s.closeAndClearTokenInformation();
s.close();
Session.setActiveSession(null);

这是我看到的唯一似乎重置用户登录的方法,但是,在我的下一个循环通过我的应用程序并调用 Session.getActiveSession() 时,我没有得到登录对话框,并且使用了预先存在的令牌。

我在文档中没有看到有关注销用户的任何内容(我只看到有关如何使用注销按钮向他们展示的选项,这不适用于我们的用例)。

非常感谢对此的一些建议。

4

2 回答 2

2

当您调用 closeAndClearTokenInformation 时,它将清除您应用的本地缓存中与用户关联的令牌信息。

当您创建另一个会话并打开它并使用 SSO 并且设备上存在 Facebook 应用程序并且用户未从 Facebook 应用程序注销时,该应用程序将再次静默授权您的应用程序,而无需进一步的用户交互。这是设计使然(因为当他们授权您的应用程序时,除非他们明确撤销访问权限,否则授权处于活动状态)。

您希望查看后续会话打开调用的用户交互的用例是什么?

于 2013-02-26T00:47:32.547 回答
0

您注销,但您没有撤销访问权限,因此再次打开时,它会登录并看到它已获得授权。

我不知道它是如何在新 API 中完成的,但请查看Facebook API SDK revoke access

希望能帮助到你。

于 2013-02-26T00:01:51.637 回答