3

在搜索和阅读有关扩展令牌的官方文档后,如果有比提示用户再次登录和授权 url 更好的方法从本机桌面应用程序刷新长期访问令牌,我没有得到明确的信息。桌面应用程序不允许此调用:

GET /oauth/access_token?  
grant_type=fb_exchange_token&           
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token} 

所以我现在找到的唯一选择是检测令牌是否即将过期以及当真正将用户重定向到登录页面以重新授权我的应用程序时,不是很舒服,你知道还有其他方法吗?

4

1 回答 1

2

根据您的问题,您要刷新长期存在的令牌。您要使用的服务是从您从身份验证流程中获得的短期令牌中获得长期存在的令牌,而不是刷新现有的长期存在令牌

您可以通过将人员发送回您的网络应用程序使用的登录流程来生成新的长期令牌 - 请注意,此人实际上不需要再次登录,他们已经授权您的应用程序,因此他们将立即重定向回使用刷新的令牌从登录流程中获取您的应用程序。

完成上述操作后,您将获得一个新的短期令牌,然后您需要执行相同的交换以获得长期令牌。

请参阅https://developers.facebook.com/docs/facebook-login/access-tokens以深入了解详情

于 2014-11-06T09:35:00.437 回答