การยืนยันตัวตนเทียบกับสิทธิ์การเข้าถึงข้อมูล

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

การยืนยันตัวตนและสิทธิ์การเข้าถึงข้อมูลต่างมีระยะเวลาจำกัด แต่ระยะเวลาหมดอายุของการยืนยันตัวตนและสิทธิ์การเข้าถึงข้อมูลจะแตกต่างกันและเป็นไปตามปัจจัยต่างๆ

การยืนยันตัวตน

การยืนยันตัวตนช่วยให้ผู้ใช้สามารถเข้าสู่ระบบแอพบนมือถือหรือบนเว็บและสร้างบัญชีได้โดยใช้ข้อมูลประจำตัวของตนบน Facebook ผู้ใช้จึงไม่จำเป็นต้องสร้างหรือจดจำรหัสผ่านแยกกัน

การหมดอายุของการยืนยันตัวตน

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

สิทธิ์การเข้าถึงข้อมูล

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

หากแอพขอสิทธิ์การอนุญาต เรามักจำเป็นต้องกำหนดให้นำแอพเข้ารับการตรวจสอบแอพ เพื่อให้ Facebook มั่นใจได้ว่าจะไม่มีการนำข้อมูลไปใช้ในทางที่ผิด แอพของคุณสามารถขอชื่อและรูปภาพ (ช่องโปรไฟล์เริ่มต้น) รวมถึงอีเมลของผู้ใช้ได้โดยไม่ต้องผ่านการตรวจสอบแอพ แต่สิทธิ์การอนุญาตอื่นๆ ทั้งหมดจะต้องมีการตรวจสอบ โปรดดูรายการสิทธิ์การอนุญาตต่างๆ รวมถึงสิทธิ์การอนุญาตที่ต้องมีการตรวจสอบแอพที่ข้อมูลอ้างอิงเกี่ยวกับสิทธิ์การอนุญาต

การหมดอายุของสิทธิ์การเข้าถึงข้อมูล

ระยะเวลาหมดอายุสำหรับสิทธิ์การเข้าถึงข้อมูลคือ 90 วัน โดยขึ้นอยู่กับเวลาใช้งานครั้งล่าสุดของผู้ใช้ เมื่อช่วงเวลา 90 วันนี้สิ้นสุดลง ผู้ใช้จะยังคงเข้าถึงแอพของคุณได้อยู่ กล่าวคือ ผู้ใช้จะยังคงได้รับการยืนยันตัวตน แต่แอพของคุณจะไม่สามารถเข้าถึงข้อมูลของผู้ใช้เหล่านั้น หากต้องการให้เข้าถึงข้อมูลได้อีกครั้ง แอพของคุณจะต้องขอให้ผู้ใช้มอบสิทธิ์การอนุญาตให้แก่แอพอีกครั้ง

ในการขอผู้ใช้มอบสิทธิ์อีกครั้งด้วย Facebook SDK สำหรับ Android หรือ Facebook SDK สำหรับ iOS ให้เรียกใช้ reauthorizeDataAccess() ใน LoginManager

ในกรณีที่เป็น Facebook SDK สำหรับ JavaScript ให้ใช้ auth_type: 'reauthorize'

FB.login(function(response) {
  // Original FB.login code
}, { auth_type: 'reauthorize' })

ให้ทำการเรียกใช้ด้วย auth_type=reauthorize สำหรับเว็บ

สิทธิ์การอนุญาตต่อไปนี้จะไม่มีวันหมดอายุ

  • ads_read
  • ads_management
  • business_management
  • configure_page_transactions
  • pages_manage_ads
  • pages_manage_cta
  • pages_manage_instant_articles

  • pages_manage_engagement

  • pages_manage_metadata
  • pages_manage_posts
  • pages_messaging
  • pages_read_engagement
  • pages_read_user_content
  • pages_show_list
  • read_audience_network_insights
  • read_insights

การทดสอบเวลาที่สิทธิ์การเข้าถึงข้อมูลของผู้ใช้จะหมดอายุ

เมื่อใช้ Android SDK และ iOS SDK คุณสามารถเรียกดูเวลาที่สิทธิ์การเข้าถึงข้อมูลของผู้ใช้จะหมดอายุได้โดยการเรียกใช้ dataAccessExpirationTime บนอ็อบเจ็กต์โทเค็นการเข้าถึง วิธีนี้จะแสดงวันที่ซึ่งระบุว่าสิทธิ์การเข้าถึงข้อมูลจะหมดอายุลงเมื่อใด

คุณยังสามารถทดสอบว่าสิทธิ์การเข้าถึงข้อมูลของผู้ใช้หมดอายุแล้วหรือไม่ได้อีกด้วย โดยการเรียกใช้ isDataAccessExpired ซึ่งจะแสดงค่าแบบบูลีนกลับมา

ในฝั่งเซิร์ฟเวอร์ คุณสามารถเรียกดูข้อมูลนี้ได้จากตำแหน่งข้อมูล debug_token

ในกรณีที่เป็นเว็บ คุณสามารถดูเวลาหมดอายุได้ใน payload: data_access_expiration_time

{
  status: 'connected',
  authResponse: {
    accessToken: '...',
    expiresIn:'...',
    reauthorize_required_in:'...',
    data_access_expiration_time: '...',
    signedRequest:'...',
    userID:'...'
  }
}

การหมดอายุของสิทธิ์การอนุญาต

หากแอพของคุณไม่ใช้สิทธิ์การอนุญาตเป็นเวลา 90 วัน สิทธิ์การอนุญาตนั้นก็จะหมดอายุลง ไม่ว่าผู้ใช้จะใช้งานครั้งล่าสุดเมื่อใดก็ตาม ซึ่งจะเป็นเช่นนี้แม้ว่าสิทธิ์การอนุญาตดังกล่าวจะได้รับการอนุมัติผ่านการตรวจสอบแอพก็ตาม