이동 : 관리자 페이지 -> 설정 편집 -> 다음 콜백 URL 여기
승인 취소 고급 나는 내 코드에서 사용자 인증 해제 방법에 PHP를 예입니다 :이
require_once(dirname(dirname(dirname(__FILE__))).'/autoload.php');
App::init();
DBConn::init();
error_log("request");
$app_secret = 'yoursecretkey';
$request = parse_signed_request($_POST['signed_request'], $app_secret);
$fbid=$request["user_id"];
error_log($fbid);
if ($fbid) {
$rec = new ADOdb_Active_Record("users");
$found=$rec->load("id=?",array($fbid));
if ($found){
$rec->deauth= 1;
$rec->save();
}
}
echo "ok";
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, '-_', '+/'));
}
아니, 그런 콜백이 없다. 실제로 달성하고자하는 것은 무엇입니까? 이러한 일이 발생할 때 어떤 종류의 데이터를 원하십니까? – CBroe
페이지 ID를 데이터베이스에 저장하고 앱과 연결합니다. 앱에서 탭을 제거하면 ID를 삭제하려고합니다. –
이 작업은 워크 플로에서 정말로 중요합니까 아니면 "공간 절약"을 위해 노력하고 있습니까? 후자는 그다지 중요하지 않을 것입니다. – CBroe