คู่มือนี้จะอธิบายถึงสถานการณ์ทั่วไปเกี่ยวกับความสามารถในการเคลื่อนย้ายเพื่อให้คุณสามารถสร้างแอพโดยกำหนดค่าตามความต้องการของคุณได้
โทเค็นการเข้าถึงรองรับการเคลื่อนย้าย คุณสามารถใช้โทเค็นที่ได้รับจากเครื่องใดก็ได้ เมื่อคุณผสานรวมอินเทอร์เฟซเว็บไซต์ ไคลเอ็นต์สำหรับมือถือ และเซิร์ฟเวอร์เข้าด้วยกัน คุณจะมีการกำหนดค่าหลากหลายรูปแบบที่ใช้ร่วมกันได้ อย่างไรก็ตาม การกำหนดค่าที่แตกต่างกันนี้ก็มีข้อดีและข้อเสียที่แตกต่างกันไปในเรื่องความสามารถและการรักษาความปลอดภัย
การกำหนดค่า | ข้อดี | ข้อเสีย | หมายเหตุด้านความปลอดภัย |
---|---|---|---|
คำขอการเข้าสู่ระบบและคำขอ API จะเกิดขึ้นในไคลเอ็นต์บนเว็บ (โทเค็นระยะสั้น) | การใช้งานที่ง่ายดาย | ไม่มีการโพสต์แบบออฟไลน์ ไม่มีการเข้าถึงระยะยาว ต้องยืนยันตัวตนบ่อยครั้ง | |
คำขอการเข้าสู่ระบบและคำขอ API จะเกิดขึ้นในไคลเอ็นต์สำหรับมือถือหรือบนเว็บแบบเนทีฟ (โทเค็นระยะยาว) | ยืนยันตัวตนบ่อยน้อยลง | ไม่มีการโพสต์แบบออฟไลน์ | |
คำขอการเข้าสู่ระบบและคำขอ API เกิดขึ้นในไคลเอ็นต์บนเว็บ (เปลี่ยนเป็นโทเค็นระยะยาวได้เมื่อแลกเปลี่ยนโค้ด) | ต้องรักษาความปลอดภัยเพิ่มเติมในบางสถานการณ์ | ใช้งานยาก ไม่มีการโพสต์แบบออฟไลน์ | จะเป็นประโยชน์ในบางสถานการณ์เท่านั้น |
การเข้าสู่ระบบเกิดขึ้นในไคลเอ็นต์สำหรับมือถือหรือบนเว็บแบบเนทีฟ คำขอ API เกิดขึ้นบนเซิร์ฟเวอร์ (พร้อมโทเค็นระยะยาว) | การโพสต์แบบออฟไลน์ เพิ่มฟีเจอร์การรักษาความปลอดภัยที่จะพร้อมใช้งานเมื่อเรียกใช้ผ่านเซิร์ฟเวอร์ | ไคลเอ็นต์จะต้องเรียกใช้เซิร์ฟเวอร์เพื่อทำหน้าที่เป็นพร็อกซีสำหรับการเรียกใช้ใดๆ | ใช้ |
การเข้าสู่ระบบเกิดขึ้นในไคลเอ็นต์สำหรับมือถือหรือบนเว็บแบบเนทีฟ คำขอ API เกิดขึ้นบนเซิร์ฟเวอร์หรือในไคลเอ็นต์ | การโพสต์แบบออฟไลน์ การโพสต์จากไคลเอ็นต์ที่ผู้ใช้เป็นผู้ดำเนินการ | ใช้งานยาก | ใช้ |
การกำหนดค่านี้ถือว่าทำได้ง่ายที่สุดในกรณีที่คำขอการยืนยันตัวตนและคำขอ API เกิดขึ้นบนไคลเอ็นต์ โมเดลนี้มีการกำหนดค่าที่ทำได้อยู่ 3 รูปแบบดังนี้:
ในการกำหนดค่าทั่วไปเช่นนี้ การยืนยันตัวตนจะเกิดขึ้นบนไคลเอ็นต์ แต่เซิร์ฟเวอร์จะเป็นฝ่ายเรียกใช้ API ทั้งหมดในนามของไคลเอ็นต์ เซิร์ฟเวอร์สามารถใช้พารามิเตอร์ appsecret_proof
เพื่อเพิ่มประสิทธิภาพในการรักษาความปลอดภัยให้ดียิ่งขึ้นเมื่อทำการเรียกใช้ได้
การกำหนดค่านี้เป็นรูปแบบที่ผสมรวมวิธีข้างต้นเข้าด้วยกัน
การระบุโทเค็นการเข้าถึงที่จะใช้กับการเรียกใช้ API ใน SDK ของเราทำได้ในหลายวิธี
setCurrentAccessToken
ของ Facebook Android SDK จะมีพารามิเตอร์ accessToken
setCurrentAccessToken
ของ Facebook iOS SDK จะมีพารามิเตอร์ token
FB.api()
ของ Facebook Javascript SDK จะมีพารามิเตอร์ access_token