โทเค็นการเข้าถึงในการเข้าสู่ระบบด้วย Facebook สำหรับเว็บ

เมื่อสิ้นสุดกระบวนการเข้าสู่ระบบ ระบบจะสร้างโทเค็นการเข้าถึงขึ้นมา โทเค็นการเข้าถึงนี้จะส่งไปพร้อมกับการเรียกใช้ API ทุกครั้งเพื่อเป็นหลักฐานว่าการเรียกใช้นี้สร้างโดยผู้ใช้คนใดและมาจากแอพใด

Facebook SDK for Javascript จะจัดการเก็บโทเค็นการเข้าถึงและติดตามสถานะการเข้าสู่ระบบในเบราว์เซอร์โดยอัตโนมัติ คุณจึงไม่ต้องดำเนินการจัดเก็บโทเค็นการเข้าถึงในเบราว์เซอร์เอง

อย่างไรก็ตาม วิธีทั่วไปคือการรับโทเค็นการเข้าถึงและส่งกลับไปยังเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะเรียกใช้ในนามของบุคคลนั้น คุณสามารถใช้อ็อบเจ็กต์ response ที่ส่งคืนผ่าน FB.getLoginStatus() เพื่อรับโทเค็นจากเบราว์เซอร์ได้:

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    console.log(response.authResponse.accessToken);
  }
});

โทเค็นเป็นสตริงแบบทึบที่ปรับเปลี่ยนความยาวได้

โปรดทราบว่าโทเค็นการเข้าถึงที่สร้างขึ้นในเบราว์เซอร์มักจะหมดอายุภายในสองสามชั่วโมง และจะรีเฟรชโดยอัตโนมัติด้วย JavaScript SDK หากคุณทำการเรียกใช้จากเซิร์ฟเวอร์ คุณจะต้องสร้างโทเค็นระยะยาว ซึ่งอธิบายรายละเอียดไว้ในเอกสารประกอบเกี่ยวกับโทเค็นการเข้าถึงของเรา

การยืนยันโทเค็นการเข้าถึงอีกครั้ง

แอพมักจะต้องยืนยันว่าการตอบกลับจากกล่องการเข้าสู่ระบบมาจากบุคคลเดียวกันกับที่เริ่มต้นกระบวนการ หากคุณใช้งาน JavaScript SDK ของ Facebook การตรวจสอบนี้จะดำเนินการโดยอัตโนมัติ คุณจึงไม่ต้องดำเนินการใดๆ หากคุณทำการเรียกใช้จากเบราว์เซอร์เท่านั้น

หากคุณเลือกที่จะส่งโทเค็นกลับไปยังเซิร์ฟเวอร์ คุณควรตรวจสอบให้แน่ใจว่าได้ยืนยันโทเค็นการเข้าถึงอีกครั้งเมื่อส่งไปถึงเซิร์ฟเวอร์แล้ว รายละเอียดเกี่ยวกับการยืนยันโทเค็นอีกครั้งมีอยู่ในเอกสารประกอบของเราในหัวข้อการสร้างขั้นตอนการเข้าสู่ระบบด้วยตัวเอง คุณจะต้องยืนยันว่า app_id และ user_id ตรงกับค่าที่คุณคาดว่าจะได้รับจากตำแหน่งข้อมูลการแก้ไขจุดบกพร่องของโทเค็นการเข้าถึง

การเรียกใช้ API

เมื่อดำเนินการมาถึงขั้นตอนนี้ บุคคลจะได้รับการยืนยันตัวตนและเข้าสู่ระบบแล้ว และแอพของคุณก็พร้อมจะทำการเรียกใช้ API จากเบราว์เซอร์ในนามของบุคคลนั้น วิธีดำเนินการในเบราว์เซอร์ที่ง่ายที่สุดคือการเรียกใช้ FB.api() เนื่องจาก FB.api() จะเพิ่มโทเค็นการเข้าถึงให้กับการเรียกใช้โดยอัตโนมัติ

โค้ดนี้:

FB.api('/me', function(response) {
    console.log(JSON.stringify(response));
});

จะส่งคืนอาร์เรย์ที่มี ID และชื่อ:

{
  "id":"101540562372987329832845483",
  "name":"Bob Smith"
}

หากคุณเรียกใช้ฝั่งเซิร์ฟเวอร์ด้วยโทเค็นการเข้าถึง คุณจะสามารถใช้ SDK บนเซิร์ฟเวอร์เพื่อเรียกใช้ในลักษณะคล้ายกันนี้ได้ หลายคนก็เลือกใช้ PHP เพื่อสร้างแอพพลิเคชั่นบนเว็บ คุณสามารถดูตัวอย่างการเรียกใช้ API ฝั่งเซิร์ฟเวอร์ได้ในเอกสารประกอบเกี่ยวกับ PHP SDK ของเรา

การตรวจจับเมื่อผู้ใช้ถอนการติดตั้งแอพ

ผู้คนสามารถถอนการติดตั้งแอพผ่าน Facebook.com โดยไม่ต้องโต้ตอบกับตัวแอพได้ เราจึงช่วยให้แอพได้ตรวจจับการถอนการติดตั้ง โดยอนุญาตให้แอพระบุ URL การเรียกกลับเพื่อเลิกให้อนุญาตซึ่งจะได้รับข้อมูลทุกครั้งที่มีการถอนการติดตั้ง

คุณสามารถเปิดใช้งานการเรียกกลับเพื่อเลิกให้อนุญาตได้ผ่านทางแดชบอร์ดของแอพ