Panggilan Balik Permintaan Penghapusan Data

Aplikasi yang mengakses data pengguna harus menyediakan cara bagi pengguna untuk meminta agar data mereka dihapus. Aplikasi Anda dapat memenuhi persyaratan ini dengan salah satu dari dua cara berikut:

  • Menerapkan Panggilan Balik Permintaan Penghapusan Data.
  • Menyediakan URL dengan petunjuk eksplisit bagi pengguna tentang cara menghapus data mereka melalui situs atau fitur pihak ketiga. Situs web pihak ketiga mungkin merupakan bagian yang relevan dalam Kebijakan Privasi aplikasi.

Panggilan balik penghapusan data dipanggil setiap kali pengguna aplikasi menghapus aplikasi Anda atau menghapus akses ke data mereka yang dibagikan dengan aplikasi Anda, seperti alamat email mereka, di Pengaturan akun Facebook mereka.

Tindakan ini membuat POST dengan permintaan bertanda tangan yang dikirimkan ke aplikasi Anda. Permintaan yang bertanda tangan tersebut berisi ID lingkup aplikasi yang mengidentifikasi pengguna yang melakukan permintaan. Untuk mengetahui contoh cara mem-parse permintaan dan struktur permintaan yang di-parse, lihat bagian berikut.

Untuk menanggapi permintaan pengguna, Anda sebaiknya memastikan telah menerima permintaan penghapusan data pengguna melalui sarana teknis yang kami sediakan, serta memberikan tautan dan nomor konfirmasi. Tautan dan nomor konfirmasi harus memberikan akses ke penjelasan status permintaan yang dapat dipahami manusia, termasuk pembenaran yang sah atas penolakan untuk menghapus (sah tersebut dapat berbeda, bergantung pada wilayah dan tafsiran kasus per kasus atas kebijakan kami sehubungan dengan alasan yang dinyatakan).

Menerapkan Panggilan Balik

Untuk parse dan menanggapi permintaan, Anda harus menerapkan panggilan balik "permintaan penghapusan data". Panggilan balik Anda harus menggunakan protokol HTTPS yang aman dan harus terdaftar di kolom URL Permintaan Penghapusan Data di Pengaturan di Dasbor Aplikasi.

Panggilan balik Permintaan Penghapusan Data yang Anda terapkan harus melakukan hal berikut:

  • Memulai penghapusan data tentang pengguna yang dimiliki aplikasi dari Facebook.
  • Mengembalikan tanggapan JSON yang berisi URL tempat pengguna dapat memeriksa status permintaan penghapusan dan kode konfirmasi alfanumerik. Tanggapan JSON memiliki bentuk berikut:
    { url: '<url>', confirmation_code: '<code>' }

Ketidakpatuhan terhadap persyaratan ini dapat mengakibatkan panggilan balik dihapus atau aplikasi dinonaktifkan.

Anda dapat menerapkan panggilan balik ini dalam bahasa apa pun, tetapi kode berikut adalah contoh panggilan balik dalam PHP.

<?php
header('Content-Type: application/json');

$signed_request = $_POST['signed_request'];
$data = parse_signed_request($signed_request);
$user_id = $data['user_id'];

// Start data deletion

$status_url = 'https://www.<your_website>.com/deletion?id=abc123'; // URL to track the deletion
$confirmation_code = 'abc123'; // unique code for the deletion request

$data = array(
  'url' => $status_url,
  'confirmation_code' => $confirmation_code
);
echo json_encode($data);

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

  $secret = "appsecret"; // Use your app secret here

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

  // confirm the signature
  $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, '-_', '+/'));
}
?>

Ini menghasilkan objek JSON yang terlihat seperti ini, dengan user_id sebagai kolom yang relevan untuk panggilan balik.

{
   "algorithm": "HMAC-SHA256",
   "expires": 1291840400,
   "issued_at": 1291836800,
   "user_id": "218471"
}

Untuk informasi selengkapnya tentang permintaan yang bertanda tangan, lihat Menggunakan Permintaan yang Bertanda Tangan dalam topik Login untuk Game di Facebook.

Menguji Panggilan Balik

Untuk menguji panggilan balik:

  1. Masuk ke aplikasi dengan Facebook Login.
  2. Buka tab pengaturan Aplikasi dan Situs Web dari profil Facebook Anda: https://www.facebook.com/settings?tab=applications
  3. Hapus aplikasi.
  4. Klik tautan Lihat Aplikasi dan Situs Web yang Dihapus.
  5. Dalam pop-up, klik tombol Lihat di sisi kanan aplikasi.
  6. Di jendela, klik Kirim Permintaan yang muncul untuk memicu panggilan balik.