Facebook:发送iOS访问令牌服务器端并使用App Secret签名

Sha*_*ram 13 iphone facebook oauth facebook-graph-api ios

我正在编写一个广泛使用Facebook的iPhone应用程序.现在,我正在使用iPhone Facebook SDK获取访问令牌.这会返回一个标准访问令牌.

我正在发送此令牌服务器端并成功将其用于许多查询.但是,有些查询需要使用Application Secret签名的访问令牌,由于安全漏洞,iPhone应用程序sdk无法在客户端执行(特别是我正在尝试使用仪表板方法).

所以我的问题是:有什么方法可以让Facebook升级这个iPhone访问令牌服务器端以包含签名的秘密?或者我是否必须从头开始验证服务器端?

文档说,使用"服务器端流"方法,一旦用户允许您的应用程序,您将获得服务器生成的代码,您必须使用App Secret发送回来以获取访问令牌.iPhone SDK使用"客户端流"方法,似乎跳过了这一步,所以我不知道如何获取此代码.所以我想问题归结为,是否有可能将使用'客户端流'方法获得的令牌升级为可以完全用于服务器端的令牌.

小智 7

答案是不.

用户令牌和应用令牌是不同的,您不能将其中一个转换为另一个.

因为你有一个客户端应用程序,我不建议你嵌入你的应用程序秘密(正如你所指出的).

对于您的应用,我建议您在您控制的服务器上创建一个网页,以获取并使用能够进行所需呼叫的应用令牌.