我正在使用Facebook的Oauth 2.0授权,我想知道Facebook分发的访问令牌是否会过期。如果是这样的话,有没有办法请求长期访问令牌?
发布于 2012-01-28 23:14:30
请注意,Facebook现在放弃了offline_access权限,转而支持令牌,您可以为其请求“升级”到过期。我自己现在正在处理这个问题,所以我没有更多要说的,但这篇文档可能会有所帮助:
https://developers.facebook.com/docs/offline-access-deprecation/
发布于 2010-11-17 06:40:41
我带着与OP相同的问题来到这里,但是建议使用offline_access的答案对我来说是危险的。
在安全方面,离线访问用户的Facebook帐户在性质上是不同的,而且比仅仅使用Facebook进行单点登录要强大得多,不应该轻率地使用(除非您真的需要它)。当用户授予此权限时,“应用程序”可以随时随地检查用户的帐户。我将“应用程序”放在引号中,因为它实际上是任何具有凭据的工具--您可以编写一整套与web服务器无关的工具,这些工具可以访问用户同意共享给这些凭据的任何信息。
我不会使用这个特性来解决令牌生命周期较短的问题;这不是它的预期目的。事实上,令牌生存期本身就是一个安全特性。我仍然在寻找有关这些令牌正确使用的详细信息(我可以持久化它们吗?我如何/应该如何保护它们?Facebook是否在主OAuth中嵌入了Facebook 2.0的“刷新令牌”?如果不是,它在哪里和/或我如何刷新?),但我非常确定offline_access不是正确的方式。
发布于 2010-04-24 03:34:58
是的,它们确实过期了。有一个‘expire’值和'access_token‘一起传递,据我所知大约需要2个小时。我一直在寻找,但我没有找到一种方法来请求更长的过期时间。
https://stackoverflow.com/questions/2687770
复制相似问题