如何强制android facebook sdk重新验证
How to force android facebook sdk to re-authenticate
简短版:我希望我的应用程序以某种方式delete/reset同一设备上的 Facebook 应用程序,以便在注销后它总是要求人们登录 Facebook应用程序并忘记所有帐户历史以维护隐私。
长版:
我正在构建一个 android 应用程序来完成这样的特定任务:
- 应用程序将捕获图像
- 应用程序会要求用户登录 Facebook(例如 Facebook 集成)
- 然后应用程序将尝试通过用户的 Facebook 帐户分享捕获的图像
- 然后应用程序将自动注销当前用户帐户
我按照 Android Facebook SDK 文档来构建登录功能。它说我的设备必须安装Facebook应用程序所以我安装了它,一切都很好。
图片分享进行得很顺利。
但是我希望我的应用程序完全注销当前的 Facebook 帐户。我使用以下代码遵循 的答案:
public void disconnectFromFacebook() {
if (AccessToken.getCurrentAccessToken() == null) {
return; // already logged out
}
new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
LoginManager.getInstance().logOut();
}
}).executeAsync();
}
它确实注销了,但是已经在Facebook Apps登录的Facebook帐户将保持不变。然后当另一个用户要登录时,会弹出一个场景like this,表明Facebook Apps保存了帐户历史记录并没有完全退出。
由于我的应用程序将部署在 public 人们可以自由拍摄照片并通过我的应用程序将其分享到 Facebook 的地方,我希望我的应用程序始终从我的设备上永久注销 Facebook 帐户。这意味着,当下一个人使用我的应用程序时,我希望它询问一个全新的 Facebook 登录身份验证,而 Facebook 应用程序不会记住每个登录它的人。
我已经尝试了一些解决方法:
- 我禁止使用 webview 登录 facebook,如 here 所述,
此解决方案似乎总是要求登录身份验证,但随后
它还会重定向到 Facebook 应用程序,因此毫无意义。
- 我想通过网络应用程序分享图片,但不仅无法使用我的代码自动分享,回调也无法到达我的应用程序。此外,文档还指出所有共享任务必须使用 Facebook SDK 完成。
对不起,我不应该更好地编译我的问题。
提前致谢。
尝试使用网络 API 而不是个人应用程序进行验证,使用移动应用程序登录 Facebook 仅供私人用户使用。这是完整的 .
简短版:我希望我的应用程序以某种方式delete/reset同一设备上的 Facebook 应用程序,以便在注销后它总是要求人们登录 Facebook应用程序并忘记所有帐户历史以维护隐私。
长版: 我正在构建一个 android 应用程序来完成这样的特定任务:
- 应用程序将捕获图像
- 应用程序会要求用户登录 Facebook(例如 Facebook 集成)
- 然后应用程序将尝试通过用户的 Facebook 帐户分享捕获的图像
- 然后应用程序将自动注销当前用户帐户
我按照 Android Facebook SDK 文档来构建登录功能。它说我的设备必须安装Facebook应用程序所以我安装了它,一切都很好。
图片分享进行得很顺利。
但是我希望我的应用程序完全注销当前的 Facebook 帐户。我使用以下代码遵循
public void disconnectFromFacebook() {
if (AccessToken.getCurrentAccessToken() == null) {
return; // already logged out
}
new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
LoginManager.getInstance().logOut();
}
}).executeAsync();
}
它确实注销了,但是已经在Facebook Apps登录的Facebook帐户将保持不变。然后当另一个用户要登录时,会弹出一个场景like this,表明Facebook Apps保存了帐户历史记录并没有完全退出。
由于我的应用程序将部署在 public 人们可以自由拍摄照片并通过我的应用程序将其分享到 Facebook 的地方,我希望我的应用程序始终从我的设备上永久注销 Facebook 帐户。这意味着,当下一个人使用我的应用程序时,我希望它询问一个全新的 Facebook 登录身份验证,而 Facebook 应用程序不会记住每个登录它的人。
我已经尝试了一些解决方法:
- 我禁止使用 webview 登录 facebook,如 here 所述, 此解决方案似乎总是要求登录身份验证,但随后 它还会重定向到 Facebook 应用程序,因此毫无意义。
- 我想通过网络应用程序分享图片,但不仅无法使用我的代码自动分享,回调也无法到达我的应用程序。此外,文档还指出所有共享任务必须使用 Facebook SDK 完成。
对不起,我不应该更好地编译我的问题。
提前致谢。
尝试使用网络 API 而不是个人应用程序进行验证,使用移动应用程序登录 Facebook 仅供私人用户使用。这是完整的