【发布时间】:2014-10-20 05:57:50
【问题描述】:
对于从我们的 android 应用和 iOS 应用注册的用户,我们需要从应用生成短期访问令牌,并且需要让服务器生成长期令牌。 参考https://developers.facebook.com/docs/facebook-login/access-tokens#extending,我们看到如下-
从您的服务器而不是客户端进行此调用。应用程序密钥包含在此 API 调用中,因此您永远不应该真正在客户端发出请求。而是实现发出请求的服务器端代码,然后将包含长期令牌的响应传递回您的客户端代码。这将是与原始令牌不同的字符串,因此如果您要存储这些令牌,请替换旧的。
一旦您检索到长期存在的令牌,您就可以从您的服务器使用它或将其发送回客户端以便在那里使用。
当我们有一个安卓应用和服务器而不是一个网页作为客户端时,我们如何实现这一点?
facebook 文档提到使用 Facebook 移动 SDK 的移动应用程序会获得长期令牌。如何从 android 应用程序获取短期访问令牌?我们如何在 facebook 文档中提到的移动应用程序中实现此实现 - Web 客户端进行身份验证,通过服务器将短期令牌交换为长期令牌,令牌被发送回 Web 客户端,然后是 Web 客户端和使用长期令牌进行调用。他们还在文档中提到从您的服务器而不是客户端进行此调用 - GET /oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={短期令牌}
【问题讨论】:
标签: android ios facebook spring-security