2012-02-28 8 views
0

Facebook php sdkの使用に問題があります。Facebook php sdkを実行するためのphp.iniの設定

$ facebook-> getSignedRequest() を印刷する場合の印刷は、任意の 'ページ' または 'ユーザー' の値が表示されません。

私はまた、[ 'signed_request'] $ _REQUESTを印刷するようにしようと試みたと私が得るすべては

お知らせです:未定義のインデックス:signed_request

がそれでしたphp.iniファイルのいくつかの設定を忘れていますか?

ありがとうございました!

+0

この問題を解決できましたか?そうであれば?ソリューションを共有してください。 –

答えて

0

これはおそらく問題の半分を解決するだけですが、$ _REQUEST ['signed_request']は$ _REQUEST( 'signed_request')ではないことを覚えておいてください。

EDIT:あなたが述べたように最後の部分を無視し、ここにあなたの答えは次のとおりです。

あなただけの変数ではないあなたが望むものを得ています。署名付きリクエストを返すので、秘密キーを使用してリクエストを復号化する必要があります。 HERESにどのように:

function parse_signed_request($signed_request, $secret) { 
    list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

    // decode the data 
    $sig = base64_url_decode($encoded_sig); 
    $data = json_decode(base64_url_decode($payload), true); 

    if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') { 
    error_log('Unknown algorithm. Expected HMAC-SHA256'); 
    return null; 
    } 

    // check sig 
    $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true); 
    if ($sig !== $expected_sig) { 
    error_log('Bad Signed JSON signature!'); 
    return null; 
    } 

    return $data; 
} 

function base64_url_decode($input) { 
    return base64_decode(strtr($input, '-_', '+/')); 
} 

は、署名された要求とそれにアプリの秘密をパスし、それがあなたの配列を返します。私はFacebook SDKを使ってそれを行う方法があると確信していますが、私はそれを使用しないのでわかりません。

詳細:https://developers.facebook.com/docs/authentication/signed_request/

グッドラック!

+0

もちろん、ここに投稿したときは誤植だった。私は$ _REQUEST ['signed_request']を使用します。 –

+0

もっとコードを提供してください。それで問題を特定することができます。これを引き起こすphp.iniの問題は考えられません。 – MichaelH

+0

require( 'php-sdk/facebook.php'); //アプリケーションインスタンスを作成します(これをappIdとシークレットに置き換えてください)。 $ログインfacebook = Facebookの新しい(配列( 'のAppID' => 'myAppId'、 '秘密' => 'mySecret')、 'クッキー' =>、真 )。 $ signed_request = $ facebook-> getSignedRequest(); 私が得るすべては以下の通りです$署名要求を印刷: アレイ([アルゴリズム] => HMAC-SHA256 [コード] => 2.AQBw-BIdk15ur3XD.3600.1330430400.5-634829875 | X8Oq1fMWhdW2hZunCRSIYIqf8Ms [issued_at] => 1330423787 [user_id] => myUserId) –

関連する問題