我需要Facebook OAuth的帮助。我正在尝试为我的网页制作一个facebook新闻Feed小工具。我做的是,我创建了一个facebook登录页面,获得了验证码,然后获得了访问令牌。访问令牌中有一个到期参数。
我的问题是,令牌过期后会发生什么?它是否成为新的令牌人再次登录。我想将它存储在数据库中,因此我可以在浏览网页的任何时候访问它。
如果我使用访问令牌,它是否仍会过期?或者如果在给定的到期时间内没有使用它会到期吗?
答案 0 :(得分:1)
据我所知,您可以通过在用户进行连接时随时请求访问我的信息(offline_access)来实现此目的。
答案 1 :(得分:1)
您最初的问题的答案是,访问令牌仅在用户登录时有效。因此,每次登录您的站点时都需要检索新的access_token。详情见authentication flow documentation。
为了获得一个没有过期(或有效期很长)的访问令牌,您需要让用户授权offline_access
。这应该在您的范围内设置。
以下是this documentation的offline_access
权限说明:
离线访问 - 允许您的应用随时代表用户执行授权请求。默认情况下,大多数访问令牌在短时间后过期,以确保应用程序仅在主动使用应用程序时代表用户发出请求。此权限使我们的OAuth端点返回的访问令牌持久存在。
但是,这不会让您永远访问。如果用户更改了密码或取消了您的应用程序的授权,您将需要让用户重新授权以获得新的access_token。如果您尝试使用过期的访问令牌,将返回错误消息。这就是为什么有一个允许这种可能性的流程很重要的原因。
答案 2 :(得分:1)
有关详细信息,请参阅
For Permissions:http://developers.facebook.com/docs/reference/api/permissions/