我有一个应用程序,用户可以使用Twitter和Facebook登录登录,没有与Twitter的问题,因为访问令牌永远不会到期,但facebook会这样做。在我的应用程序中,如果用户登录twitter,我可以连接fb帐户,反之亦然。 Facebook基本上用于向用户的墙壁分享内容。我现在遇到的问题是,当用户尝试使用他们的Facebook帐户共享某些内容并且访问令牌过期时,它会弹出一个登录屏幕,在我登录之后它不再共享它。那么维护这个令牌的最佳方法是什么?我从来没有使用任何其他要求我再次登录的应用程序的经验...他们如何管理这个tok
答案 0 :(得分:0)
我相信你必须要求权限“offline_access”,这会使你的访问令牌持续到用户决定删除你的应用程序。在这种情况下,您可以决定是否通过取消授权URL从数据库中删除他的数据。
答案 1 :(得分:0)
看到你需要了解Facebook和Twitter的工作方式不同。
您基本上可以将来自NSUserDefaults的accesstoken存储为:
[[NSUserDefaults standardUserDefaults] setObject:_facebook.accessToken forKey:@"fb_access_token"];
[[NSUserDefaults standardUserDefaults] setObject:_facebook.expirationDate forKey:@"fb_exp_date"];
(我想你已经这样做了)
令牌持续到日期到期,用户更改帐户密码或用户删除您的应用程序。在这种情况下,您将获得一个例外。 获得异常后,您必须再次登录并获取新令牌,如果您想再次发布该消息,将出现对话框。 由于FBDialog是一个WebView,因此您无法在不点击发布的情况下执行操作。