...ここ
あなたは$を持って、条件付きの私のデバッグエコーの結果だについてsigは$ expected_sigと比較されます。
SIG:[ꢖbuf^ 4֣GP
期待SIG:{.nwW:rBの C8$ %F
何らかの理由で、送信される署名が、期待される任意の符号化された署名と一致していません。
私は疑問に思っていました...ここで何が間違っているのでしょうか?
私は自分の設定で正しく設定していますが、適切な「秘密」を渡すことはできませんか?私は
$facebook->getAppID();
または
$facebook->getAppSecret();
NOTHINGを使用
require_once("facebook.php");
$config = array();
$config[‘appId’] = $APP_ID;
$config[‘secret’] = $APP_SECRET;
$config[‘fileUpload’] = false; // optional
$facebook = new Facebook($config);
結局のところは、返却されています!
私getSignedRequestCookieName()関数は、唯一の "fbsr_"
を返す理由
$expected_sig = hash_hmac('sha256', $payload,
$facebook->getAppSecret(), $raw = true);
が間違ったハッシュを返しなぜこれがこれがあるさ!
しかし、なぜですか?
単純な答え:ひどく形成のconfig配列...
使用 "$の設定[『のAppID』] = $ APP_IDを、" ... "のAppID" の前後に引用符を気づきます。これは、facebookの開発者ドキュメントのdocs/examplesからの直接コピー/貼り付けでした。
標準二重引用符
$config = array();
$config["appId"] = $APP_ID;
$config["secret"] = $APP_SECRET;
$config["fileUpload"] = false; // optional
でそれらの引用符を置き換え...
SIG:ここでの結果ですr0g%のW(B^DDV
期待SIG:r0g% W(B^DDV
彼らは今、一致...
かいつまんで...あなたはsigned_requestトークン取得していることを確認するためには、phpinfo()を実行..あなたがそれを取得していると確信しているならば(または、 "$ REQUEST [fbsr ######]" var)...あなたが符号化された署名入りの要求を得ていることが確かであれば...あなたのハッシュが一致しない理由は、あなたが取得していない場合のみですそこの正しい秘密。