令牌过期后的Android Facebook登录
Posted
技术标签:
【中文标题】令牌过期后的Android Facebook登录【英文标题】:Android Facebook login after token expired 【发布时间】:2015-12-13 20:00:07 【问题描述】:基本上文档说:
当 access_token 过期时,用户将被视为“退出” 脸书。您的应用将经历与第一个相同的过程 时间,但用户可能不会。
我在按钮点击时触发 Facebook 登录:
LoginManager.getInstance().logInWithReadPermissions(LoginActivity.this, permissions);
如果我看到我的令牌已过期,我可能会调用相同的方法并重新登录用户,就像文档中所说的那样(用户无需任何操作)。但如果用户从设置中删除了我的应用权限,此调用将显示 Facebook“授权应用”屏幕。看起来我正在强制用户使用 Facebook 登录。
问题:有没有办法知道我的应用是否仍然可以访问用户的个人资料?
【问题讨论】:
【参考方案1】:在您描述的场景中,只有在用户之前有意识地进入 Facebook 设置并且未授权应用程序时,才会再次提示用户对话框。 在这种情况下,我认为再次用对话框提示用户是可以的。如果他们不想再次授权您的应用,他们可以随时拒绝登录对话框。
总而言之:不,在使用 LoginManager.getInstance().logInWithReadPermissions(LoginActivity.this, permissions);
更新令牌之前,您无法知道用户是否未授权您的应用。
【讨论】:
以上是关于令牌过期后的Android Facebook登录的主要内容,如果未能解决你的问题,请参考以下文章
Rails - 使用 Omniauth 和 Koala 的 Facebook:如何更新过期的令牌
在 Android 上集成 Google 登录时如何在 ID 令牌过期后刷新?