Kha*_*los 9 authentication twitter android facebook parse-platform
我正在使用parse.com的Android API并添加了Facebook/Twitter登录支持.这工作正常.
棘手的部分似乎正在退出.
如果我使用Twitter登录我的应用程序:
ParseTwitterUtils.logIn(UserLoginActivity.this, twitterLoginCallback);
Run Code Online (Sandbox Code Playgroud)
或使用Facebook:
ParseFacebookUtils.logInWithReadPermissionsInBackground(UserLoginActivity.this, null, facebookLoginCallback);
Run Code Online (Sandbox Code Playgroud)
我在网络对话框中提示输入我的Twitter凭据,然后允许或拒绝访问我的应用程序.一旦我允许它,我能够成功登录,并且我可以访问我的屏幕名称.一切都很好!
当我尝试登录了我的ParseUser的,我确实会退出.但是,如果我再次单击Facebook或Twitter登录按钮,我会预先验证为我之前的帐户,我无法切换帐户.
我试过了:
我的登录逻辑简单地开始:
ParseUser.logOut();
Run Code Online (Sandbox Code Playgroud)
Parse.enableLocalDatastore(this);按照我的Application建议打电话:https://stackoverflow.com/a/26338326/494356null
ParseTwitterUtils.getTwitter().setAuthToken(null);
ParseTwitterUtils.getTwitter().setAuthTokenSecret(null);使用Facebook SDK注销功能:
AccessToken.setCurrentAccessToken(null);
Profile.setCurrentProfile(null);
LoginManager.getInstance().logOut();
曾经有一Session.closeAndClearTokenInformation()所建议的在这里.但是Facebook已经弃用了Session类,它不再在SDK中了.
我真的很感激任何答案或建议.即使你只能回答推特或Facebook,但两者都不能回答,我仍然希望听到它.
在我们的应用程序中,登录/注销过程适用于 Facebook、电子邮件甚至自己构建的谷歌登录。我可以告诉你我第一眼看到的差异,也许其中一个对你有用。
首先,我们不ParseUser直接在代码中使用实例,而是有一个MyUser扩展的类ParseUser。其次,登录逻辑封装在后台服务中,而不是直接在我们的活动中调用。这可能无法解决问题。但在后台服务中,我们还缓存该MyUser实例,在需要时检索它,并使用该实例注销用户 ( MyUser.logOut())。并且设置null为注销后。
最后但并非最不重要的一点是:您是否正在运行最新版本的 Parse SDK?
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |