ข้ามไปยังเนื้อหาหลัก

ตั้งค่าการเข้าสู่ระบบโซเชียลด้วย Apple

ตัวเชื่อมต่อ (Connector) อย่างเป็นทางการของ Logto สำหรับการเข้าสู่ระบบโซเชียลด้วย Apple

เคล็ดลับ:

คู่มือนี้สมมติว่าคุณมีความเข้าใจพื้นฐานเกี่ยวกับ ตัวเชื่อมต่อ (Connectors) ของ Logto หากคุณยังไม่คุ้นเคย โปรดดูคู่มือ ตัวเชื่อมต่อ (Connectors) เพื่อเริ่มต้น

เริ่มต้นใช้งาน

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

บันทึก:

Apple sign-in เป็นข้อบังคับสำหรับ AppStore หากแอปของคุณมีวิธีเข้าสู่ระบบโซเชียลอื่น ๆ การมี Apple sign-in บนอุปกรณ์ Android ก็เป็นเรื่องดีหากคุณมีแอป Android ด้วย

คุณต้องสมัครเข้าร่วม Apple Developer Program ก่อนดำเนินการต่อ

เปิดใช้งาน Sign in with Apple สำหรับแอปของคุณ

ข้อควรระวัง:

แม้ว่าคุณต้องการใช้งาน Sign in with Apple เฉพาะบนเว็บแอป คุณก็ยังจำเป็นต้องมีแอปที่อยู่ในระบบนิเวศของ AppStore (เช่น ต้องมี App ID ที่ถูกต้อง)

คุณสามารถทำได้ผ่าน Xcode -> Project settings -> Signing & Capabilities หรือเข้าไปที่ Certificates, Identifiers & Profiles

Enable Sign in with Apple

ดูหัวข้อ "Enable an App ID" ใน เอกสารทางการของ Apple สำหรับข้อมูลเพิ่มเติม

สร้าง identifier

  1. ไปที่ Certificates, Identifiers & Profiles แล้วคลิกปุ่ม "+" ข้าง "Identifier"
  2. ในหน้า "Register a new identifier" เลือก "Services IDs" แล้วคลิก "Continue"
  3. กรอก "Description" และ "Identifier" (เช่น Logto Test และ io.logto.test) จากนั้นคลิก "Continue"
  4. ตรวจสอบข้อมูลอีกครั้งแล้วคลิก "Register"

เปิดใช้งาน Sign in with Apple สำหรับ identifier ของคุณ

คลิก identifier ที่คุณเพิ่งสร้างขึ้น ตรวจสอบ "Sign in with Apple" ในหน้ารายละเอียดแล้วคลิก "Configure"

Enable Sign in with Apple

ในหน้าต่างที่เปิดขึ้น ให้เลือก App ID ที่คุณเพิ่งเปิดใช้งาน Sign in with Apple

กรอกโดเมนของ Logto instance ของคุณโดยไม่ต้องใส่ protocol และ port เช่น your.logto.domain จากนั้นกรอก "Return URL" (หรือ Redirect URI) ซึ่งก็คือ URL ของ Logto ตามด้วย /callback/${connector_id} เช่น https://your.logto.domain/callback/apple-universal คุณจะได้รับ connector_id ที่สร้างแบบสุ่มหลังจากสร้าง Apple connector ใน Admin Console

Domain and URL

คลิก "Next" แล้ว "Done" เพื่อปิดหน้าต่าง จากนั้นคลิก "Continue" ที่มุมขวาบน แล้วคลิก "Save" เพื่อบันทึกการตั้งค่าของคุณ

ข้อควรระวัง:

Apple ไม่อนุญาตให้ใช้ Return URL ที่เป็น HTTP protocol และโดเมน localhost

หากคุณต้องการทดสอบในเครื่อง คุณต้องแก้ไขไฟล์ /etc/hosts เพื่อแมป localhost กับโดเมนที่กำหนดเอง และตั้งค่า environment HTTPS ในเครื่อง mkcert สามารถช่วยคุณตั้งค่า HTTPS ในเครื่องได้

กำหนดค่า scope

หากต้องการรับอีเมลของผู้ใช้จาก Apple คุณต้องกำหนดค่า scope ให้มี email สำหรับทั้งอีเมลและชื่อ คุณสามารถใช้ name email เป็น scope ดูข้อมูลเพิ่มเติมได้ที่ เอกสารทางการของ Apple

บันทึก:

ผู้ใช้อาจเลือกซ่อนที่อยู่อีเมลจากแอปของคุณ ในกรณีนี้คุณจะไม่สามารถดึงอีเมลจริงได้ ระบบจะส่งอีเมลลักษณะนี้กลับมาแทน [email protected]

ข้อควรระวังในการกำหนดขอบเขต (Scope)

หากคุณได้ตั้งค่าแอปของคุณให้ร้องขอที่อยู่อีเมลของผู้ใช้หลังจากที่พวกเขาได้ลงชื่อเข้าใช้ด้วย Apple ไปแล้ว คุณจะไม่สามารถดึงที่อยู่อีเมลของผู้ใช้เหล่านั้นได้ แม้ว่าพวกเขาจะลงชื่อเข้าใช้ด้วย Apple ID อีกครั้งก็ตาม เพื่อแก้ไขปัญหานี้ คุณต้องแนะนำให้ผู้ใช้ไปที่ หน้าจัดการบัญชี Apple ID และลบแอปพลิเคชันของคุณออกจากส่วน "Sign in with Apple" โดยสามารถเลือก "หยุดใช้ Apple Sign In" (Stop using Apple Sign In) ในหน้ารายละเอียดแอปของคุณ

ตัวอย่างเช่น หากแอปของคุณร้องขอทั้งอีเมลและชื่อของผู้ใช้ (email name scope) หน้าขอความยินยอม (consent screen) ที่ผู้ใช้ใหม่เห็นในครั้งแรกที่ลงชื่อเข้าใช้ควรมีลักษณะคล้ายกับนี้:

Sign in with Apple consent screen

ดูการพูดคุยของนักพัฒนาซอฟต์แวร์ ที่นี่

ทดสอบตัวเชื่อมต่อ Apple

เพียงเท่านี้ ตัวเชื่อมต่อ Apple ก็พร้อมใช้งานทั้งในเว็บและแอปเนทีฟ อย่าลืม เปิดใช้งานตัวเชื่อมต่อโซเชียลในประสบการณ์การลงชื่อเข้าใช้