يجب على التطبيقات التي يمكنها الوصول إلى بيانات المستخدم أن توفر طريقة للمستخدمين تمكّنهم من طلب حذف بياناتهم. يمكن لتطبيقك استيفاء هذا المتطلب بإحدى الطريقتين:
يتم إجراء استدعاء حذف البيانات عندما يزيل مستخدم التطبيق تطبيقك أو يزيل إمكانية الوصول إلى البيانات التي تتم مشاركتها مع التطبيق، مثل عنوان البريد الإلكتروني، في إعدادات حساب فيسبوك.
يعمل ذلك على إنشاء طلب POST باستخدام طلب موقّع يتم إرساله إلى تطبيقك. ويحتوي الطلب الموقّع على معرف على مستوى التطبيق لتحديد هوية المستخدم الذي يقدم الطلب. وللاطّلاع على مثال حول كيفية تتبع الطلب وبنية الطلب الذي يتم تتبعه، راجع القسم الوارد فيما يلي.
استجابةً لطلب المستخدم، يتعين عليك الإقرار باستلام طلب حذف بيانات المستخدم من خلال الوسائل التقنية التي نوفرها وإرسال رابط ورقم تأكيد. ويجب أن يتيح الرابط ورقم التأكيد للمستخدم إمكانية الوصول إلى تفسير واضح ومقروء حول حالة الطلب الذي يقدمه، بما في ذلك التفسير المشروع في حالة أي رفض لطلب الحذف (حيث سيختلف السبب التشريعي استنادًا إلى الصلاحية والتفسير حسب كل حالة على حدة لسياستنا وعلاقتها بالأسباب التي يذكرها المستخدمون).
لتتبع طلب والرد عليه، يتعين عليك تنفيذ استدعاء "طلب حذف البيانات". يجب أن يستخدم الاستدعاء الذي أرسلته بروتوكول HTTPS آمنًا كما يجب أن يكون مدرجًا في الحقل عنوان URL طلب حذف البيانات في الإعدادات في لوحة معلومات التطبيق.
يجب أن يعمل استدعاء طلب حذف البيانات الذي تنفذه على إجراء ما يلي:
{ url: '<url>', confirmation_code: '<code>' }
قد يؤدي الفشل في الامتثال لهذه المتطلبات إلى حذف الاستدعاء الخاص بك أو تعطيل التطبيق الخاص بك.
يمكنك تنفيذ هذا الاستدعاء بأي لغة، ولكن الرمز البرمجي الوارد فيما يلي يعد مثالاً على الاستدعاء بلغة 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, '-_', '+/')); } ?>
ينتج عن ذلك كائن JSON يشبه هذا، حيث يكون user_id
في الحقل ذي الصلة الخاص بالاستدعاء.
{ "algorithm": "HMAC-SHA256", "expires": 1291840400, "issued_at": 1291836800, "user_id": "218471" }
لمزيد من المعلومات حول الطلبات الموقّعة، راجع استخدام طلب موقّع ضمن موضوع تسجيل الدخول للألعاب على فيسبوك.
لاختبار الاستدعاء: