การเข้าสู่ระบบแบบจำกัดข้อมูลสำหรับ Unity

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

สิทธิ์การอนุญาต

การเข้าสู่ระบบแบบจำกัดข้อมูลจะมีชุดสิทธิ์การอนุญาตที่คุณสามารถส่งคำขอได้อยู่อย่างจำกัดดังนี้

  • public_profile
  • email
  • gaming_profile
  • gaming_user_picture
  • user_age_range
  • user_birthday
  • user_friends
  • user_gender
  • user_hometown
  • user_link
  • user_location
  • user_messenger_contact

การใช้การเข้าสู่ระบบแบบจำกัดข้อมูล

หากต้องการใช้การเข้าสู่ระบบแบบจำกัดข้อมูลกับ Unity SDK ให้ใช้ฟังก์ชั่น LoginWithTrackingPreference เพื่อระบุว่าการกำหนดลักษณะ LoginTracking เป็น LIMITED สำหรับคำขอเข้าสู่ระบบนั้นๆ นอกจากนี้ ผู้พัฒนายังสามารถใส่ nonce ที่จะระบุหรือไม่ก็ได้อีกด้วย โดยมีไว้เพื่อตรวจสอบยืนยันการตอบกลับจาก Unity SDK โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบความถูกต้องของโทเค็น OIDC ที่การตรวจสอบความถูกต้องของโทเค็น OIDC สำหรับการเข้าสู่ระบบแบบจำกัดข้อมูล

FB.Mobile.LoginWithTrackingPreference(LoginTracking.LIMITED, scopes, "nonce123", this.HandleResult);

การเรียกดูข้อมูลโปรไฟล์

หลังจากดำเนินขั้นตอนการเข้าสู่ระบบสำหรับการเข้าสู่ระบบแบบจำกัดข้อมูลหรือการเข้าสู่ระบบแบบดั้งเดิมเสร็จสมบูรณ์แล้ว ในตอนนี้ ผู้พัฒนาก็จะสามารถเรียกดู AuthenticationToken จาก Unity SDK ได้แล้ว หากต้องการเรียกดูข้อมูลโปรไฟล์พื้นฐานของผู้ใช้ ผู้พัฒนาสามารถส่งคำขออ็อบเจ็กต์ Profile โดยใช้ฟังก์ชั่น CurrentProfile ซึ่งจะอ่าน AuthenticationToken ที่เชื่อมโยงกัน

private void GetProfileInfo()
{
     var profile = FB.Mobile.CurrentProfile();
     if(profile != null) {
          this.userName = profile.Name;
          this.userId = profile.UserID
          this.userEmail = profile.Email;
          this.profileImageUrl = profile.ImageURL;
          this.userBirthday = profile.Birthday;
          this.userAgeRange = profile.AgeRange;
          this.userFriendIDs = profile.FriendIDs;
          this.userGender = profile.Gender;
          this.userLink = profile.LinkURL;
          this.userHometown = profile.Hometown;
          this.userLocation = profile.Location;
     }
}

โปรดทราบว่า ในตอนนี้การเข้าสู่ระบบแบบจำกัดข้อมูลและคลาส “โปรไฟล์” มีให้บริการสำหรับ iOS SDK เท่านั้น และยังไม่พร้อมให้บริการสำหรับแพลตฟอร์มอื่นๆ

ข้อมูลอ้างอิง

หลัก

ชื่อ คำอธิบาย

LoginTracking

ค่า Enum ที่ระบุว่าคำขอเข้าสู่ระบบควรมีการเปิดใช้งานการติดตามหรือไม่ ค่าที่ใช้ได้ ได้แก่ ENABLED และ LIMITED

AuthenticationToken

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

Profile

คลาสตัวช่วยที่ใช้ในการดึงข้อมูลโปรไฟล์พื้นฐานจาก AuthenticationToken ของผู้ใช้ปัจจุบัน

เมธอด

ชื่อ คำอธิบาย

FB.Mobile.LoginWithTrackingPreference

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

FB.Mobile.CurrentAuthenticationToken

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

FB.Mobile.CurrentProfile

ส่งคืนข้อมูลโปรไฟล์พื้นฐานที่ผู้ใช้ปัจจุบันได้มอบให้แก่แอพพลิเคชั่นของคุณ

FB.Mobile.LoginWithTrackingPreference

พารามิเตอร์:

  1. LoginTracking - Enum ที่เลือกระหว่าง ENABLED กับ LIMITED
  2. Scopes - Permissions สำหรับคำขอนี้
  3. Nonce - สตริงที่ระบุหรือไม่ก็ได้ ซึ่งใช้เพื่อตรวจสอบยืนยันการตอบกลับ
  4. ตัวจัดการผลลัพธ์ (IResult) - ฟังก์ชั่นการเรียกกลับที่จะประมวลผลการตอบกลับการเข้าสู่ระบบ

ผลลัพธ์: จัดการคำขอเข้าสู่ระบบของผู้ใช้และจัดการเซสชั่นของผู้ใช้

FB.Mobile.CurrentAuthenticationToken

พารามิเตอร์: ไม่มี

ผลลัพธ์: ส่งคืน "โทเค็นการยืนยันตัวตน" ที่มีข้อมูลโปรไฟล์พื้นฐานของผู้ใช้ ซึ่งรวมถึง ID ผู้ใช้, ชื่อผู้ใช้, รูปโปรไฟล์ของผู้ใช้ และอีเมลผู้ใช้ (หากผู้ใช้มอบสิทธิ์การอนุญาตให้)

FB.Mobile.CurrentProfile

พารามิเตอร์: ไม่มี

ผลลัพธ์: ส่งคืนอ็อบเจ็กต์โปรไฟล์ที่มีข้อมูลโปรไฟล์พื้นฐานของผู้ใช้ ซึ่งระบบจะเรียกดูโดยอัตโนมัติจากโทเค็นการยืนยันตัวตนของผู้ใช้

ตรวจสอบความถูกต้องของโทเค็น OIDC

ก่อนที่คุณจะใช้โทเค็น OIDC ในฝั่งเซิร์ฟเวอร์ ให้ตรวจสอบความถูกต้องของโทเค็นกับคีย์สาธารณะของ Facebook และตรวจสอบให้แน่ใจว่า nonce ตรงกับ nonce ที่คุณระบุไว้