2011-09-23 146 views
0

我有一个应用程序,用户可以登录使用Twitter和Facebook登录,与twitter没有任何问题,因为访问令牌永不过期,但Facebook的确如此。在我的应用程序中,如果用户登录Twitter,则可以连接fb帐户,反之亦然。 Facebook基本上用于分享内容到用户的墙上。我现在遇到的问题是,当用户试图使用他们的Facebook帐户分享内容并且访问令牌过期时,它会弹出一个登录屏幕,登录后它不再共享它。那么维护这个令牌的最好方法是什么?我从来没有任何经验使用任何其他应用程序,要求我再次登录...他们如何管理这个问题我如何管理Facebook访问令牌?

回答

0

我相信你必须要求权限“offline_access”,这使得你的访问令牌持续到用户决定删除您的应用程序。在这种情况下,您可以决定通过取消授权URL从数据库中删除他的数据。

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,您不能在不发布发布的情况下执行该操作。