我正在为我的应用程序的用户存储长期访问令牌,这些用户已将其 Facebook 帐户与其关联。自灭亡以来离线访问代币,这些长期存在的代币的有效期为“大约 60 天”。但是,当用户与 Facebook 交互时,它们可以自行刷新。根据文档 https://developers.facebook.com/docs/facebook-login/access-tokens#extending:
当使用您的应用程序的人向 Facebook 的服务器发出请求时,这些令牌将每天刷新一次。如果未提出请求,令牌将在大约 60 天后过期,并且用户必须再次执行登录流程才能获取新令牌。
我想知道是什么构成向 Facebook 的服务器发出请求。用户是否必须登录 Facebook 网站、移动应用程序或在某处使用“赞”按钮?或者我的应用程序代表用户发出请求也算在内吗?
另外,令牌刷新后,是否还会刷新60天?或者它们刷新的持续时间较短?
我无法在文档或此处提出的其他问题中找到这些具体答案,因此提前感谢任何可能拥有更多详细信息的人。
每次您使用 Facebook SDK 进行任何 Graph API 调用时,令牌都会刷新。你可以在他们的源代码中看到这一点访问令牌管理器有功能扩展AccessTokenIfNeeded(),并且该函数在内部被调用图形请求在功能上执行连接并等待().
您还可以通过调用手动刷新令牌:
AccessToken.refreshCurrentAccessTokenAsync();
我发现了一个例外。只有 sso 令牌可以刷新,这意味着如果用户通过 facebook 应用程序登录到您的应用程序。如果用户通过浏览器登录,令牌将保持不变。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)