内容へ移動
ClownWiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
facebook_credits_api:sample_cakephp_controller
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
===== サンプル - cakephp - controller ===== <code> <?php class CreditsController extends AppController { var $name = 'Credits'; var $helpers = array('Js'); var $components = array('RequestHandler'); // アイテム一覧作成のために、アイテム情報取得 public function get_items() { $json = $this->Credit->get(); if($json === false) { $this->renderErrorJson($this->Credits->validationErrors); return; } $this->renderJson($json); } // callback public function callback() { // 処理の状態 $func = $_REQUEST['method']; // facebookアプリのsecret key $secret = Configure::read('mlbapi.facebook_secret'); // 暗号化情報をsecret_keyで解読 $request = $this->parse_signed_request($_REQUEST['signed_request'], $secret); // 暗号解読失敗 = 不正アクセス if ($request == null) { $this->renderErrorJson(array('request' => 'Illegal request error. ')); return; } // 状態と、解読情報で実処理へ $json = $this->Credit->creditOrder($func, $request); if($json === false) { $this->renderErrorJson($this->Credits->validationErrors); return; } $this->renderJson($json); } // you can find the following functions and more details // on http://developers.facebook.com/docs/authentication/canvas protected function parse_signed_request($signed_request, $secret) { list($encoded_sig, $payload) = explode('.', $signed_request, 2); // decode the data $sig = $this->base64_url_decode($encoded_sig); $data = json_decode($this->base64_url_decode($payload), true); if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') { error_log('Unknown algorithm. Expected HMAC-SHA256'); return null; } // check signature $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true); if ($sig !== $expected_sig) { error_log('Bad Signed JSON signature!'); return null; } return $data; } protected function base64_url_decode($input) { return base64_decode(strtr($input, '-_', '+/')); } } </code>
facebook_credits_api/sample_cakephp_controller.txt
· 最終更新: 2025/02/16 13:53 by
127.0.0.1
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ