我正在编写一个广泛使用Facebook的iPhone应用程序。现在,我正在使用iPhone Facebook SDK获取访问令牌。这会返回一个标准访问令牌。
我正在发送此令牌服务器端并成功将其用于许多查询。但是,有些查询需要使用Application Secret签名的访问令牌,由于安全漏洞,iPhone应用程序sdk无法在客户端执行(特别是我正在尝试使用仪表板方法)。
所以我的问题是:我有没有办法让Facebook升级这个iPhone访问令牌服务器端以包含签名的秘密?或者我是否必须从头开始验证服务器端?
文档说,使用“服务器端流”方法,一旦用户允许您的应用,您将获得服务器生成的代码,您必须使用App Secret发送回来以获取访问令牌。 iPhone SDK使用“客户端流”方法,似乎跳过了这一步,所以我不知道如何获取此代码。所以我想问题归结为,是否有可能将使用'客户端流'方法获得的令牌升级为可以在服务器端完全使用的令牌。
答案 0 :(得分:7)
答案是否定的。
用户令牌和应用令牌不同,您无法将其转换为另一个。
因为你有一个客户端应用程序,我不建议你嵌入你的应用程序秘密(正如你指出的那样)。
对于您的应用,我建议您在您控制的服务器上创建一个网页,以获取并使用可以进行所需呼叫的应用令牌。