har*_*anb 10 android facebook facebook-authentication facebook-android-sdk
我对facebook.logout(context)的工作方式有点困惑.
因为即使在调用注销后,我也能够访问需要auth_token的信息.那怎么可能呢?我遇到了这个话题,让我有点困惑:https://stackoverflow.com/a/6597688/487940
在阅读完答案之后,这是我的问题:如果用户授予访问[我的]应用程序的权限,如果他登录到[官方] Facebook应用程序,他将始终进行身份验证?即使我尝试在[my]应用程序中调用facebook.logout(context),他也会登录,我的应用程序将能够调用Facebook API吗?
对不起,关于我无法理解这种行为.
更新:在阅读了Torid的反应之后,我对facebook.logout()函数感到困惑.如果该功能未将用户注销,该功能的用途是什么?因为,我不再看到调用此目的的目的了.它不会将用户注销.
这里有两个独立的事情:1)您的用户是否已经对Facebook的应用程序(具有权限)进行了身份验证,以及2)您的用户是否已登录到Facebook.
用户首次使用应用程序时需要进行身份验证,并持续到用户明确取消身份验证(例如,通过Facebook网络帐户设置 - >应用程序 - >应用程序设置).
每次用户启动应用程序时都可能需要登录.但是,如果您使用默认的SDK authorize(),它会尝试执行单点登录(SSO),如果Facebook应用程序已登录,您的应用程序将自动登录并使用现有的访问令牌.
如果您正在使用SSO,当您进行注销时,这没有任何效果,因为真正的注销必须注销Facebook应用程序 - 用户可能不喜欢!
您可以通过对表单进行授权来解决此问题
authorize(this, PERMISSIONS, FORCE_DIALOG_AUTH, new LoginDialogListener());
Run Code Online (Sandbox Code Playgroud)
这避免了SSO并强制对话登录.当然,这会强制您的用户每次启动应用程序时都会登录 - 除非您保存登录详细信息/访问令牌(这是SDK的功能 - 检查源代码).
| 归档时间: |
|
| 查看次数: |
6615 次 |
| 最近记录: |