2012-06-11 29 views
0

我在玩Facebook-API。对于认证,用户将被发送到oauth对话框。在允许访问后,用户的浏览器被重定向到facebook应用程序设置中指定的地址。我们要求scope = offline_access和response_type = token,所以post-auth重定向包含一个有效的访问令牌。 到目前为止,这么好。 现在我的问题:是否有可能没有用户交互重新请求此访问令牌? (例如:服务器没有赶上从OAuth的对话框后-AUTH请求)Facebook重新请求访问令牌可能吗?

感谢任何近代启蒙:-)

回答

1

首先,offline_access已经过时 - 在这里看到更多的细节:https://developers.facebook.com/roadmap/offline-access-removal/。你现在可以得到的最多是60天的令牌。

回答您的问题 - 无法在没有用户交互的情况下请求访问令牌 - 为什么我们需要登录对话框?

+0

假设一个过期的令牌(60天后++),有什么我的应用程序做的就是一个新的令牌?重新显示oauth对话框? – Sascha

+1

如果您使用FB.login/init对话框,并且用户在您的60天令牌过期之前登录 - 那么您将透明地获得新的短期令牌,您可以交换新的长寿命令牌。所以用户不会看到oauth对话框(当然,他还没有删除你的应用程序)。在这里看到更多(场景4):https://developers.facebook.com/roadmap/offline-access-removal/和这里:https://developers.facebook.com/docs/authentication/client-side/(检查“ init的SDK的状态为:true,以便在初始化时检查用户的身份验证状态“part) – avs099

+0

到目前为止,还没有人理解。我试图找到的是创建与Facebook进行交互的应用程序的某种“最佳实践”。我见过的所有解决方案都必须捕获oauth后重定向以获取auth令牌。回顾一下:已经通过身份验证的应用程序无法访问用户已经授予权限的信息? – Sascha