ตั้งค่าการเข้าสู่ระบบโซเชียลด้วย 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 an App ID" ใน เอกสารทางการของ Apple สำหรับข้อมูลเพิ่มเติม
สร้าง identifier
- ไปที่ Certificates, Identifiers & Profiles แล้วคลิกปุ่ม "+" ข้าง "Identifier"
- ในหน้า "Register a new identifier" เลือก "Services IDs" แล้วคลิก "Continue"
- กรอก "Description" และ "Identifier" (เช่น
Logto Test
และio.logto.test
) จากนั้นคลิก "Continue" - ตรวจสอบข้อมูลอีกครั้งแล้วคลิก "Register"
เปิดใช้งาน Sign in with Apple สำหรับ identifier ของคุณ
คลิก identifier ที่คุณเพิ่งสร้างขึ้น ตรวจสอบ "Sign in with Apple" ในหน้ารายละเอียดแล้วคลิก "Configure"

ในหน้าต่างที่เปิดขึ้น ให้เลือก 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

คลิก "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) ที่ผู้ใช้ใหม่เห็นในครั้งแรกที่ลงชื่อเข้าใช้ควรมีลักษณะคล้ายกับนี้:

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