การลงชื่อเข้าใช้ด้วยโซเชียล (Social sign-in)
การลงชื่อเข้าใช้ด้วยโซเชียลเป็นวิธีการยืนยันตัวตน (Authentication) ที่ได้รับความนิยมอย่างแพร่หลาย ช่วยให้ผู้ใช้สามารถลงชื่อเข้าใช้และสมัครสมาชิกโดยใช้บัญชีโซเชียลมีเดียที่มีอยู่ เช่น Google, Facebook, Twitter และ LinkedIn
ประโยชน์ของการลงชื่อเข้าใช้ด้วยโซเชียล:
- กระบวนการเริ่มต้นใช้งานที่ง่ายขึ้น: การลงชื่อเข้าใช้ด้วยโซเชียลช่วยให้ผู้ใช้สมัครหรือเข้าสู่ระบบได้ด้วยคลิกเดียว โดยไม่ต้องสร้างบัญชีใหม่หรือจดจำรหัสผ่านเพิ่มเติม ลดอุปสรรคและเพิ่มการมีส่วนร่วมของผู้ใช้
- เพิ่มความเชื่อมั่นและความปลอดภัย: ด้วยการใช้แพลตฟอร์มที่เชื่อถือได้ เช่น Google หรือ Facebook ผู้ใช้จะรู้สึกมั่นใจในแอปพลิเคชันของคุณมากขึ้น
- เพิ่มข้อมูลโปรไฟล์ผู้ใช้: การลงชื่อเข้าใช้ด้วยโซเชียลช่วยให้คุณสามารถดึงข้อมูลโปรไฟล์เพิ่มเติมจากแพลตฟอร์มโซเชียล เช่น ชื่อ อีเมล รูปโปรไฟล์ และอื่น ๆ
การตั้งค่าการลงชื่อเข้าใช้ด้วยโซเชียล
-
ตั้งค่าตัวเชื่อมต่อโซเชียลของคุณ:
ไปที่ Console > Connectors > Social connectors คลิกปุ่ม “Add Social Connector” และเลือกตัวเชื่อมต่อโซเชียลที่ต้องการเพิ่ม (เช่น Google หรือ Github) ดูรายละเอียดเพิ่มเติมที่ social connector -
เพิ่มปุ่มเข้าสู่ระบบโซเชียล:
โดยค่าเริ่มต้น ตัวเชื่อมต่อโซเชียลที่เพิ่มใหม่จะไม่แสดงบนหน้าลงชื่อเข้าใช้ของผู้ใช้ปลายทาง หากต้องการเพิ่มปุ่มเข้าสู่ระบบโซเชียลในหน้าเข้าสู่ระบบ คุณต้องเปิดใช้งานตัวเชื่อมต่อโซเชียลในหน้าตั้งค่าประสบการณ์การลงชื่อเข้าใช้ไปที่ Console > Sign-in & account > Sign-up and sign-in คลิกปุ่ม “Add social connector” เพื่อเพิ่มปุ่มเข้าสู่ระบบโซเชียลในหน้าสมัครและเข้าสู่ระบบของคุณ สามารถลากและวางเพื่อจัดลำดับปุ่มบน UI ได้
-
ตั้งค่าตัวเลือกการเชื่อมโยงบัญชี:
สำหรับผู้ใช้ใหม่ที่สมัครด้วย โซเชียลไอดี (social identities) Logto อนุญาตให้เชื่อมโยงบัญชีโซเชียลกับบัญชีอีเมลหรือเบอร์โทรศัพท์ที่มีอยู่ในระบบ Logto โดยค่าเริ่มต้น จะมีหน้าสำหรับ การเชื่อมโยงบัญชี แสดงให้ผู้ใช้ในระหว่างการสมัครด้วยโซเชียล เพื่อให้ผู้ใช้เลือกเชื่อมโยงบัญชีโซเชียลกับบัญชีที่มีอยู่หรือสร้างบัญชีใหม่เพื่อให้กระบวนการนี้ราบรื่นขึ้น คุณสามารถเปิดใช้งานตัวเลือก Automatic account linking ในหน้าตั้งค่าประสบการณ์การลงชื่อเข้าใช้ ซึ่งจะเชื่อมโยงบัญชีโซเชียลกับบัญชีที่มีอยู่โดยอัตโนมัติหากอีเมลหรือเบอร์โทรศัพท์ตรงกัน
-
บันทึกการเปลี่ยนแปลง:
ตรวจสอบการตั้งค่าให้เรียบร้อยและบันทึกเพื่อใช้งานการตั้งค่า
ประสบการณ์ผู้ใช้ของการลงชื่อเข้าใช้ด้วยโซเชียล
ด้วยการลงชื่อเข้าใช้ด้วยโซเชียล กระบวนการสมัครและเข้าสู่ระบบใน Logto จะราบรื่นสำหรับผู้ใช้
- ลงชื่อเข้าใช้ด้วยโซเชียล: ผู้ใช้คลิกปุ่มลงชื่อเข้าใช้ด้วยโซเชียลที่แสดงบนหน้าลงชื่อเข้าใช้
- เปลี่ยนเส้นทาง: ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าการยืนยันตัวตนของผู้ให้บริการข้อมูลระบุตัวตนโซเชียล
- การยืนยันตัวตนโซเชียล: ผู้ใช้กรอกข้อมูลบัญชีโซเชียลและยืนยันตัวตนกับผู้ให้บริการโซเชียล หากผู้ใช้เข้าสู่ระบบกับผู้ให้บริการโซเชียลอยู่แล้ว อาจได้รับการยืนยันตัวตนโดยอัตโนมัติ หากพบเซสชันการเข้าสู่ระบบหลายบัญชี ผู้ใช้อาจถูกขอให้เลือกบัญชีที่ถูกต้อง (เช่น หลายบัญชี Google)
บันทึก:
สามารถตั้งค่าพารามิเตอร์ “prompt” ของ Google ในตัวเชื่อมต่อ Google เพื่อปรับแต่งประสบการณ์ผู้ใช้ในการเลือกบัญชีและหน้าขอความยินยอมสำหรับการเข้าสู่ระบบ Google
- กลับสู่ Logto: หลังจากยืนยันตัวตนสำเร็จ ผู้ให้บริการโซเชียลจะเปลี่ยนเส้นทางผู้ใช้กลับไปยังหน้าลงชื่อเข้าใช้ Logto พร้อมข้อมูลการยืนยันตัวตน
- ตรวจสอบตัวตนโซเชียล: Logto จะตรวจสอบข้อมูลการยืนยันตัวตนโซเชียลและตัวตนผู้ใช้ หากไม่มีบัญชีผู้ใช้ที่เชื่อมโยงกับโซเชียลไอดี จะมีการสร้างบัญชีใหม่
- การยืนยันตัวตนผู้ใช้: Logto จะยืนยันตัวตนผู้ใช้และเปลี่ยนเส้นทางกลับไปยังแอปพลิเคชันไคลเอนต์เพื่อจบกระบวนการยืนยันตัวตน
การเชื่อมโยงบัญชี (Account linking)
ดังที่กล่าวไว้ข้างต้น Logto อนุญาตให้ผู้ใช้เชื่อมโยงบัญชีโซเชียลกับบัญชีอีเมลหรือเบอร์โทรศัพท์ที่มีอยู่ในระบบ Logto กระบวนการนี้สำคัญต่อการรักษาบัญชีผู้ใช้เดียวกันระหว่างวิธีการยืนยันตัวตนและผู้ให้บริการข้อมูลระบุตัวตนที่แตกต่างกัน
-
การสร้างบัญชีใหม่: เมื่อผู้ใช้ลงชื่อเข้าใช้ด้วย โซเชียลไอดี (social identity) ที่ไม่มีอยู่ในระบบ Logto และอีเมลหรือเบอร์โทรศัพท์ที่ให้มาไม่ตรงกับบัญชีผู้ใช้ที่มีอยู่ จะมีการสร้างบัญชีใหม่ใน Logto โดยตรง
-
การเชื่อมโยงบัญชีที่มีอยู่: หากอีเมลหรือเบอร์โทรศัพท์ที่ได้จากโซเชียลไอดีตรงกับบัญชีที่มีอยู่ใน Logto จะมีขั้นตอนการเชื่อมโยงบัญชีที่ยืดหยุ่น
-
การเชื่อมโยงบัญชีอัตโนมัติ: หากเปิดใช้งานตัวเลือก “Automatic account linking” ใน Sign-in experience Logto จะเชื่อมโยงบัญชีโซเชียลกับบัญชีที่มีอยู่โดยอัตโนมัติหากอีเมลหรือเบอร์โทรศัพท์ตรงกัน ผู้ใช้จะไม่ถูกถามให้เชื่อมโยงบัญชีและจะเข้าสู่ระบบบัญชีที่มีอยู่ทันที บัญชีโซเชียลจะถูกเชื่อมโยง ทำให้ผู้ใช้สามารถเข้าสู่ระบบด้วยวิธีใดก็ได้ในอนาคต
-
การเชื่อมโยงบัญชีด้วยตนเอง: หากปิดใช้งาน “Automatic account linking” ผู้ใช้จะถูกถามให้เชื่อมโยงบัญชีโซเชียลกับบัญชีที่มีอยู่ระหว่างกระบวนการเข้าสู่ระบบ โดยสามารถเลือกเชื่อมโยงบัญชีหรือสร้างบัญชีใหม่
-
หากพบว่ามีบัญชีที่เกี่ยวข้องในระหว่างกระบวนการสมัครด้วยโซเชียล โดยใช้อีเมลหรือเบอร์โทรศัพท์ที่ตรงกับบัญชีที่มีอยู่ และผู้ใช้เลือกไม่เชื่อมโยงบัญชี อีเมลหรือเบอร์โทรศัพท์นั้นจะไม่ถูกซิงค์ไปยังบัญชีใหม่ใน Logto เพื่อให้แน่ใจว่าอีเมลและเบอร์โทรศัพท์ยังคงไม่ซ้ำกันในทุกบัญชีผู้ใช้
หากอีเมลหรือเบอร์โทรศัพท์เป็นตัวระบุที่จำเป็นสำหรับการสมัคร ผู้ใช้จะถูกขอให้ระบุอีเมลหรือเบอร์โทรศัพท์อื่นในระหว่างกระบวนการสมัคร ดูรายละเอียดเพิ่มเติมที่ การเก็บข้อมูลโปรไฟล์ผู้ใช้เพิ่มเติม
การเก็บข้อมูลโปรไฟล์ผู้ใช้เพิ่มเติม
การเก็บตัวระบุสำหรับสมัครสมาชิก
ระหว่างกระบวนการสมัครด้วยโซเชียล ขึ้นอยู่กับการตั้งค่าตัวระบุที่จำเป็นสำหรับการสมัคร (อีเมล, เบอร์โทรศัพท์ และ ชื่อผู้ใช้) ที่คุณกำหนด ผู้ใช้อาจถูกขอให้ระบุข้อมูลที่ได้รับการยืนยันเพิ่มเติมเพื่อจบกระบวนการสมัครหลังจากได้รับการยืนยันตัวตนกับผู้ให้บริการโซเชียล
ตัวอย่างเช่น กำหนดให้ อีเมล และ ชื่อผู้ใช้ เป็นตัวระบุที่จำเป็นสำหรับการสมัคร:
-
สมัครด้วยโซเชียลไอดีที่ให้ข้อมูลอีเมลที่ได้รับการยืนยัน
หากโซเชียลไอดีให้ข้อมูลอีเมลที่ได้รับการยืนยัน อีเมลจะถูกซิงค์ไปยังโปรไฟล์ผู้ใช้ และผู้ใช้จะถูกขอให้ระบุชื่อผู้ใช้เพื่อจบกระบวนการสมัคร
-
สมัครด้วยโซเชียลไอดีที่ไม่มีอีเมลที่ได้รับการยืนยัน
หากโซเชียลไอดีไม่ให้ข้อมูลอีเมลที่ได้รับการยืนยัน ผู้ใช้จะถูกขอให้ระบุอีเมลระหว่างกระบวนการสมัคร และต้องยืนยันอีเมลโดยกรอกรหัสยืนยันที่ส่งไปยังอีเมลนั้น
-
สมัครด้วยโซเชียลไอดีที่ให้อีเมลที่ลงทะเบียนแล้ว
หากโซเชียลไอดีให้อีเมลที่ลงทะเบียนในระบบ Logto แล้ว ผู้ใช้จะถูกขอให้เชื่อมโยงบัญชีโซเชียลกับบัญชีที่มีอยู่หรือสร้างบัญชีใหม่ หากเลือกสร้างบัญชีใหม่ จะถูกขอให้ระบุอีเมลใหม่และยืนยันอีเมลนั้น
การเก็บข้อมูลโปรไฟล์ผู้ใช้อื่น ๆ
นอกจากตัวระบุที่จำเป็นสำหรับการสมัครแล้ว คุณยังสามารถเก็บข้อมูลโปรไฟล์อื่น ๆ ระหว่างกระบวนการสมัครด้วยโซเชียล เช่น ชื่อ-นามสกุล วันเกิด หรือฟิลด์กำหนดเองอื่น ๆ
ตัวเลือกที่ 1: เก็บข้อมูลโปรไฟล์ผู้ใช้
เพิ่มขั้นตอน “Tell us about yourself” ที่ Logto สร้างไว้ล่วงหน้าใน flow การสมัคร ผู้ใช้ต้องกรอกข้อมูลที่จำเป็นทั้งหมดก่อนจึงจะลงทะเบียนสำเร็จ วิธีนี้ไม่ต้องเขียนโค้ดและใช้งานได้ทันที
ตั้งค่าการเก็บข้อมูลโปรไฟล์ผ่าน Console > Sign-in & account > Collect user profile เพื่อเลือกฟิลด์ข้อมูลพื้นฐานที่ตั้งค่าไว้ล่วงหน้าหรือสร้างฟิลด์กำหนดเองพร้อมการตรวจสอบที่ยืดหยุ่น ดูเพิ่มเติม: Collect user profile
การเก็บตัวระบุสำหรับสมัครสมาชิก (อีเมล, เบอร์โทรศัพท์, ชื่อผู้ใช้) แตกต่างจากการเก็บข้อมูลโปรไฟล์ผู้ใช้อื่น ๆ ระหว่างการลงชื่อเข้าใช้ด้วยโซเชียล:
- ตัวระบุสำหรับสมัครสมาชิก: จำเป็นสำหรับทั้งผู้ใช้ใหม่และผู้ใช้เดิม เพราะใช้ระบุตัวตนและการแจ้งเตือน
- ข้อมูลโปรไฟล์อื่น ๆ (เช่น ชื่อ-นามสกุล วันเกิด): เก็บเฉพาะระหว่างการลงทะเบียนผู้ใช้ใหม่เท่านั้น เพราะไม่จำเป็นต่อการระบุตัวตนและสามารถเก็บภายหลังผ่าน Account API ได้
ตัวเลือกที่ 2: Onboarding flows แบบโฮสต์เอง
เปลี่ยนเส้นทางผู้ใช้ไปยัง flow onboarding ที่คุณสร้างเองหลังสมัครสมาชิกสำเร็จ เพื่อเก็บข้อมูลได้อย่างยืดหยุ่นและควบคุมประสบการณ์ผู้ใช้ได้เต็มที่ เหมาะสำหรับ onboarding หลายขั้นตอนที่ซับซ้อน
ใช้ Account API เพื่อจัดการข้อมูลโปรไฟล์ผู้ใช้แบบโปรแกรม
Google One-tap
Logto ยังรองรับวิธีการลงชื่อเข้าใช้ Google One-tap สำหรับตัวเชื่อมต่อ Google ช่วยให้ผู้ใช้ลงชื่อเข้าใช้ได้ด้วยคลิกเดียว ฟีเจอร์นี้ช่วยลดขั้นตอนโดยไม่ต้องเปลี่ยนเส้นทางไปยังหน้าการยืนยันตัวตนของ Google
เพื่อเปิดใช้งาน Google One-tap ให้ทำตามคำแนะนำในหน้าตั้งค่าตัวเชื่อมต่อ Google connector เมื่อเปิดใช้งานแล้ว ผู้ใช้จะเห็น popup “Sign in with Google” เมื่อเข้าสู่หน้าลงชื่อเข้าใช้ เมื่อคลิกแล้วจะได้รับการยืนยันตัวตนกับบัญชี Google โดยอัตโนมัติและเปลี่ยนเส้นทางกลับไปยังแอปพลิเคชัน
เชื่อมโยงหรือยกเลิกการเชื่อมโยงบัญชีโซเชียล
หลังจากลงชื่อเข้าใช้ด้วยโซเชียลครั้งแรก ผู้ใช้สามารถจัดการบัญชีโซเชียลที่เชื่อมโยงผ่านหน้าตั้งค่าบัญชีของตนเองได้ ช่วยให้ผู้ใช้เชื่อมโยงบัญชีโซเชียลเพิ่มเติมกับโปรไฟล์ที่มีอยู่ หรือยกเลิกการเชื่อมโยงบัญชีโซเชียลที่ไม่ต้องการใช้งาน
ผู้ใช้สามารถเข้าถึงฟีเจอร์เหล่านี้ผ่านศูนย์บัญชีแบบบริการตนเอง ซึ่งมีความยืดหยุ่นดังนี้:
- เชื่อมโยงบัญชีโซเชียลใหม่: เชื่อมต่อผู้ให้บริการโซเชียลเพิ่มเติมกับโปรไฟล์ผู้ใช้เดียวกัน
- ยกเลิกการเชื่อมโยงบัญชีโซเชียลที่มีอยู่: ลบบัญชีโซเชียลออกโดยยังคงเข้าถึงด้วยวิธีอื่นได้
- ดูบัญชีที่เชื่อมโยงอยู่: ดูโซเชียลไอดีทั้งหมดที่เชื่อมโยงอยู่ในปัจจุบัน
ดูรายละเอียดการใช้งานฟีเจอร์จัดการบัญชีในเอกสาร account settings
จัดเก็บโทเค็นและเรียก API ของบุคคลที่สาม
คุณสามารถเปิดใช้งานการจัดเก็บโทเค็นของบุคคลที่สามสำหรับตัวเชื่อมต่อโซเชียลที่รองรับได้ เมื่อผู้ใช้ยืนยันตัวตนและให้สิทธิ์แล้ว โทเค็นการเข้าถึง (Access token) และโทเค็นรีเฟรช (Refresh token) ที่ออกโดยผู้ให้บริการจะถูกจัดเก็บอย่างปลอดภัยใน secret vault ของ Logto แอปพลิเคชันของคุณ (ผ่าน Account API) สามารถดึงและใช้โทเค็นเหล่านี้เพื่อเรียก API ของผู้ให้บริการ (เช่น ให้แอปของคุณเพิ่มกิจกรรมใน Google Calendar) ในนามของผู้ใช้โดยไม่ต้องยืนยันตัวตนโซเชียลซ้ำ ดูรายละเอียดการตั้งค่าที่ third-party token storage
คำถามที่พบบ่อย
จะเพิ่มปุ่มเข้าสู่ระบบโซเชียลและเข้าสู่ระบบด้วยโซเชียลโดยตรงบนเว็บไซต์ของฉันได้อย่างไร?
Logto ช่วยให้คุณเพิ่มปุ่มเข้าสู่ระบบโซเชียลบนเว็บไซต์และเริ่มต้นกระบวนการลงชื่อเข้าใช้ด้วยโซเชียลโดยตรงโดยไม่ต้องแสดงฟอร์มเข้าสู่ระบบเริ่มต้น ดูคำแนะนำได้ที่ Direct sign-in
ทำไมอีเมลหรือเบอร์โทรศัพท์ของฉันไม่ถูกเติมข้อมูลหลังสมัครด้วยโซเชียล?
ใน Logto อีเมลและเบอร์โทรศัพท์สามารถใช้เป็นตัวระบุสำหรับเข้าสู่ระบบเพื่อระบุผู้ใช้แต่ละรายได้อย่างไม่ซ้ำกัน จะยอมรับเฉพาะอีเมลและเบอร์โทรศัพท์ที่ได้รับการยืนยันเท่านั้น หากโซเชียลไอดีไม่ให้ claim email_verified หรือ phone_number_verified อีเมลหรือเบอร์โทรศัพท์จะไม่ถูกซิงค์ไปยังโปรไฟล์ผู้ใช้ แต่คุณยังสามารถดูข้อมูลเหล่านี้ได้ในส่วน social identities ของโปรไฟล์ผู้ใช้
การรองรับอีเมลหรือเบอร์โทรศัพท์ที่ยังไม่ได้รับการยืนยันเป็นข้อมูลโปรไฟล์ผู้ใช้จะมีในเร็ว ๆ นี้
แหล่งข้อมูลที่เกี่ยวข้อง
ประสบการณ์การลงชื่อเข้าใช้ด้วยโซเชียลเพิ่มอัตราการเข้าสู่ระบบ Google ด้วย 6 การตั้งค่า