首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无效的appsecret_proof -为什么?

无效的appsecret_proof -为什么?
EN

Stack Overflow用户
提问于 2015-09-17 01:15:43
回答 1查看 554关注 0票数 0

因此,我正在构建一个新的应用程序,使用Javascript API登录(v2.4)和最新版本的PHP (v5)。我为它创建了一个测试应用程序,并正在使用它。使用Javascript API,我进行登录和身份验证,并保存从getLoginStatus返回的访问令牌:

代码语言:javascript
复制
FB.getLoginStatus(function(response) { 
    handleLoginStatusChange(response); 
});

function handleLoginStatusChange(response)
{
    . . .
    else if (response.status == 'connected')  
    {
        // make ajax call to save access token
    . . .
}

然后,在我的PHP代码中,我获得了这个访问令牌,并尝试使用它。我还计算了一个appsecret_proof:

代码语言:javascript
复制
$this->fb = new Facebook\Facebook([
                           'app_id'    => <my app id>,
                           'app_secret'=> <my app secret>,
                           'default_graph_version' => 'v2.3'
                                  ]);
$this->fbApp = new Facebook\FacebookApp( <my app id>, 
                                         <my app secret );

$appsecret_proof = hash_hmac('sha256', <access token>, 
                                       <app secret>); 

然后我试着发布一个链接到我的FB帐户:

代码语言:javascript
复制
$linkData = [
             'link' => 'https://google.com',
             'message' => 'This is a test post',
            ];
$response = $this->fb->post('/me/feed', $linkData, <access token>);

这给了我一个可怕的“appsecret_proof参数中提供的无效API”错误。我不知道这是否是问题所在,但是如果我将访问令牌放到调试器中,它会告诉我这个访问令牌是针对我的实际应用程序的,而不是我的测试应用程序,所以appID不匹配。我不认为这是一个问题,如果我理解测试应用程序,特别是因为我在这段代码中一直在使用测试appID和测试appSecret。

有什么想法吗?我在StackOverflow上看到了一些东西,但它们要么是旧版本的API,要么是谈论编辑API代码本身来禁用这些东西。

EN

回答 1

Stack Overflow用户

发布于 2015-09-17 04:08:26

它告诉我此访问令牌适用于我的实际应用程序,而不是我的测试应用程序,因此appID不匹配

这就是它不起作用的原因。

想一想Facebook方面发生了什么:他们需要用来计算应用秘密证明的应用秘密,所以他们必须通过应用id来查找。他们是从哪里得到应用id的?从访问令牌…好了!

因此,如果您为不同的应用程序传递访问令牌,这将使他们使用错误的应用程序秘密来计算应用程序-秘密证明-因此它将与您发送的值不匹配。

您需要使用属于您的测试应用程序的访问令牌。

( PHP SDK自己负责计算和发送应用程序的秘密证明,您不需要手动处理。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32614801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档