การยืนยันตัวตนของผู้ใช้

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

ภาพรวม

การตั้งค่าการยืนยันตัวตนของผู้ใช้ (User Authentication) ควบคุมว่าผู้ใช้ปลายทางเข้าถึงแอปที่ deploy แล้วของคุณได้อย่างไร การตั้งค่านี้แบ่งเป็นสองส่วน:

  1. Sign-Up Settings: ผู้ใช้ใหม่สร้างบัญชีเองได้หรือไม่ (รวมถึงตัวเลือกที่เกี่ยวข้อง)
  2. Authentication Methods: ผู้ใช้ทุกคน (ทั้งผู้ใช้ใหม่และผู้ใช้เดิม) เข้าสู่ระบบได้ด้วยวิธีใดบ้าง

การตั้งค่านี้แยกจาก App Users ผู้ใช้ของแอป (app user) ได้รับเชิญโดยตรง ส่วนการยืนยันตัวตนของผู้ใช้ควบคุมทั้งการสมัครใช้งานด้วยตัวเองและวิธีเข้าสู่ระบบ ผู้ที่เข้าสู่ระบบจะถูกเชื่อมกับระเบียนในไดเรกทอรี Identities ขององค์กรคุณ

การตั้งค่าการสมัครใช้งาน (Sign-Up Settings)

Allow Sign-Ups

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

เมื่อปิด:

  • ผู้ใช้ใหม่สมัครใช้งานไม่ได้
  • ผู้ใช้ที่เคยสมัครไว้แล้วยังเข้าสู่ระบบได้
  • ผู้ใช้ของแอปที่คุณเชิญไว้ยังเข้าสู่ระบบได้
  • สมาชิกในทีมยังเข้าถึงแอปได้
  • คุณยังตั้งค่าวิธียืนยันตัวตนได้ (อีเมลและรหัสผ่าน, Google ฯลฯ)

Require Email Verification

เมื่อเปิด ผู้ใช้ต้องยืนยันอีเมลก่อนเข้าใช้แอปของคุณ ช่วยป้องกันบัญชีสแปมและทำให้มั่นใจว่าข้อมูลติดต่อถูกต้อง

Collect Name

เมื่อเปิด หน้าสมัครใช้งานจะถามชื่อและนามสกุลของผู้ใช้

Default User Role

ผู้ใช้ใหม่ที่สมัครใช้งานจะได้รับ default role ที่คุณตั้งไว้ในบทบาทที่กำหนดเองของแอปโดยอัตโนมัติ คุณจัดการได้ว่าบทบาทใดเป็นค่าเริ่มต้นที่ Settings → Configuration → Roles & Permissions บทบาทที่ทำเครื่องหมาย "Default" คือบทบาทที่ผู้ใช้ที่สมัครใหม่จะได้รับ

แอปส่วนใหญ่ควรใช้บทบาทผู้ใช้ทั่วไปเป็นค่าเริ่มต้น ไม่ใช่บทบาท admin ดูรายละเอียดการสร้างและตั้งค่าบทบาทที่กำหนดเองได้ที่ สมาชิกและบทบาท

วิธียืนยันตัวตน (Authentication Methods)

Email & Password

การยืนยันตัวตนแบบดั้งเดิม ผู้ใช้สร้างบัญชีด้วยอีเมลและรหัสผ่าน เมื่อเปิดใช้:

  • ผู้ใช้จะเห็นช่องอีเมลและรหัสผ่านในแบบฟอร์มเข้าสู่ระบบ
  • มีแบบฟอร์มสมัครใช้งานแยกไว้สำหรับผู้ใช้ใหม่
  • ระบบบังคับใช้ข้อกำหนดรหัสผ่านให้อัตโนมัติ

Social Login

ให้ผู้ใช้เข้าสู่ระบบด้วยบัญชีโซเชียลที่มีอยู่แล้ว ตอนนี้รองรับ:

ผู้ให้บริการสถานะ
Googleใช้งานได้
Facebookเร็วๆ นี้
LINEใช้งานได้

Social login ช่วยให้ใช้งานได้สะดวก ผู้ใช้กดปุ่มเดียวก็ยืนยันตัวตนด้วยบัญชีที่มีอยู่แล้ว

หมายเหตุ:

เมื่อเปิดเฉพาะ social login (ไม่เปิดอีเมลและรหัสผ่าน) การสมัครใช้งานและการเข้าสู่ระบบจะเป็น ขั้นตอนเดียวกัน ผู้ใช้กด "Continue with Google" ไม่ว่าจะมีบัญชีอยู่แล้วหรือไม่ก็ตาม

SMS / Phone OTP

ผู้ใช้เข้าสู่ระบบด้วยรหัสใช้ครั้งเดียวที่ส่งทาง SMS คุณปิดวิธีเข้าสู่ระบบสุดท้ายที่ยังเปิดอยู่ไม่ได้

สำหรับแอปที่ใช้ LINE เป็นหลัก คุณทำลิงก์ให้ผู้ใช้เข้าสู่ระบบได้ทันทีโดยตั้งปุ่ม rich menu ของ LINE Official Account ให้ชี้ไปที่เส้นทางเข้าสู่ระบบของแอป พร้อมล็อกให้ LINE เป็นวิธียืนยันตัวตนเพียงวิธีเดียว

https://<your-app-domain>/api/auth/login?auth_methods=line&returnTo=/membership

auth_methods ล็อกการเข้าสู่ระบบให้ใช้ line ส่วน returnTo คือเส้นทางที่ผู้ใช้จะไปถึงหลังเข้าสู่ระบบ (ต้อง URL-encode) ค่าเริ่มต้นคือ / สำหรับ JavaScript SDK ใช้ signIn({ authMethods: ["line"], returnTo: "/membership" }) ได้ผลเหมือนกัน

หากคุณเชื่อมต่อ LINE MINI App ให้ใช้ลิงก์ของ MINI App ใน rich menu แทน ดู เข้าสู่ระบบด้วย LINE

เปิด LINE ใต้ Social login ก่อน แท็บจะแสดงส่วน LINE ที่มีการ์ด LINE portal link ให้ตั้ง Landing path แล้วคัดลอกลิงก์ที่สร้างขึ้น

เซสชัน

  • Session lifetime กำหนดว่าอุปกรณ์หนึ่งอยู่ในระบบได้นานแค่ไหนก่อนที่ผู้ใช้ต้องเข้าสู่ระบบใหม่ เลือกได้ 1, 7, 14, 30 หรือ 90 วัน ค่าเริ่มต้นคือ 14 วัน
  • Profile Invite Links ให้แอปของคุณส่งลิงก์หรือ QR code ให้ลูกค้าเพื่อเชื่อมเขากับโปรไฟล์ที่ยังไม่มีอีเมลหรือเบอร์โทรในระบบ ใครก็ตามที่ถือลิงก์นี้ก็รับโปรไฟล์ไปได้ การปิดตัวเลือกนี้จะทำให้ลิงก์ที่แจกไปแล้วใช้ไม่ได้ด้วย

แบรนด์ของหน้าเข้าสู่ระบบ

แต่ละแอปมีแบรนด์ของหน้าเข้าสู่ระบบเป็นของตัวเอง ได้แก่ โลโก้ ข้อความหัวเรื่อง ข้อความรอง สีหลัก และสีพื้นหลัง ตั้งค่าได้ในส่วน Sign-in Page Branding แล้วเลือก Save branding ตัวอย่างหน้าเข้าสู่ระบบในหน้านั้นจะแสดงผลลัพธ์

แบรนด์นี้ใช้กับหน้าเข้าสู่ระบบของแอปเท่านั้น สำหรับหน้าเข้าสู่ระบบขององค์กรคุณ ดู หน้าเข้าสู่ระบบของคุณเอง

การตั้งค่า

วิธีตั้งค่าการยืนยันตัวตนของผู้ใช้:

  1. ไปที่แอปของคุณใน Stardeck dashboard
  2. ไปที่ Settings → Configuration → Authentication
  3. เปลี่ยนการตั้งค่าที่ต้องการ การตั้งค่าส่วนใหญ่จะบันทึกทันทีที่คุณเปลี่ยน

ตัวอย่างแบบสดจะแสดงว่าแบบฟอร์มเข้าสู่ระบบของคุณจะหน้าตาอย่างไรสำหรับผู้ใช้

coding agent ของคุณอ่านและเปลี่ยนการตั้งค่าชุดเดียวกันนี้ได้ผ่าน MCP (update_app_auth_settings และ set_app_auth_disabled สำหรับส่วนด้านล่าง) ทุกการเปลี่ยนแปลงจะแสดง ตัวอย่างให้คุณดูก่อน และจะทำงานต่อเมื่อคุณยืนยันแล้วเท่านั้น ดู เครื่องมือและสิทธิ์

ตัวอย่างการตั้งค่าที่พบบ่อย

แอปส่วนตัว

สำหรับแอปที่ให้เฉพาะผู้ใช้ที่ได้รับเชิญเข้าถึงได้:

  • Allow Sign-Ups: ปิด
  • เชิญผู้ใช้เฉพาะรายเป็น App Users พร้อมบทบาทของแอปที่เหมาะสม

SaaS สาธารณะ

สำหรับแอปที่ใครก็สมัครใช้งานได้:

  • Allow Sign-Ups: เปิด
  • Authentication Methods: Email & Password + Google
  • Require Email Verification: เปิด
  • Default Role: บทบาทผู้ใช้ทั่วไปของคุณ

เข้าสู่ระบบด้วย social login อย่างเดียว

สำหรับการเข้าสู่ระบบที่ลื่นไหลโดยไม่ต้องใช้รหัสผ่าน:

  • Allow Sign-Ups: เปิด
  • Authentication Methods: Google เท่านั้น
  • Default Role: บทบาทผู้ใช้ทั่วไปของคุณ

ผู้ใช้จะเห็นเพียง "Continue with Google" ในหน้าเข้าสู่ระบบ

วิธีการทำงาน

เมื่อผู้ใช้สมัครใช้งานผ่านแอปที่ deploy แล้วของคุณ:

  1. เขาสร้างบัญชีด้วยวิธียืนยันตัวตนที่คุณตั้งค่าไว้
  2. หากกำหนดไว้ เขาต้องยืนยันอีเมล
  3. ระบบกำหนดบทบาทเริ่มต้นที่คุณตั้งไว้ให้
  4. จากนั้นเขาเข้าสู่ระบบแอปของคุณได้

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

ข้อควรพิจารณาด้านความปลอดภัย

  • Require Email Verification: เปิดไว้สำหรับแอป production เพื่อให้ได้อีเมลที่ถูกต้อง
  • Default Role: ใช้บทบาทที่มีสิทธิ์น้อยที่สุด เว้นแต่มีเหตุผลเฉพาะที่ต้องให้สิทธิ์สูงกว่า
  • Social Login: ผู้ให้บริการช่วยยืนยันอีเมลให้ในตัว

ปิดการยืนยันตัวตน (Disable Authentication)

ในบางกรณี คุณปิดการยืนยันตัวตนทั้งหมดแยกตามสภาพแวดล้อมของการ deploy ได้ มีประโยชน์เมื่อต้องแชร์ preview deployment ให้ผู้มีส่วนได้ส่วนเสียที่ต้องการดูประสบการณ์ฝั่ง admin ทั้งหมดโดยไม่ต้องสร้างบัญชี

ควรใช้เมื่อไร

กรณีใช้งานการตั้งค่าที่แนะนำ
Admin Flow Previewsปิดการยืนยันตัวตนสำหรับ preview deployment เพื่อให้ผู้มีส่วนได้ส่วนเสียดูประสบการณ์ฝั่ง admin ได้ครบ
Developmentปิดการยืนยันตัวตนสำหรับ sandbox เพื่อทดสอบได้เร็วขึ้นโดยไม่ต้องเข้าสู่ระบบ
Client Demosปิดการยืนยันตัวตนสำหรับ preview เพื่อให้ลูกค้าลองใช้แอปก่อนตัดสินใจตั้งค่าจริง

วิธีตั้งค่า

  1. ไปที่แอปของคุณใน Stardeck dashboard
  2. ไปที่ Settings → Configuration → Authentication
  3. ในส่วน Disable Authentication เปิดสวิตช์ของสภาพแวดล้อมที่ต้องการปิดการยืนยันตัวตน:
    • Sandbox: สภาพแวดล้อมสำหรับพัฒนา
    • Preview: preview deployment
    • Production: deployment จริงที่ใช้งานอยู่
  4. คลิก Save Changes
  5. ยืนยันการ deploy ใหม่เมื่อระบบถาม
หมายเหตุ:

การเปลี่ยนการตั้งค่านี้จะ deploy ใหม่โดยอัตโนมัติสำหรับสภาพแวดล้อมที่ได้รับผลกระทบ สำหรับ sandbox dev server จะรีสตาร์ตเอง

คำเตือน:

เมื่อคุณปิดการยืนยันตัวตนของ production แอปของคุณจะเปิดเป็นสาธารณะทั้งหมด ใครก็ตามที่มี URL เข้าถึงทุกฟีเจอร์ได้โดยไม่ต้องเข้าสู่ระบบ ปิดการยืนยันตัวตนของ production เฉพาะเมื่อคุณตั้งใจให้แอปเป็นสาธารณะเต็มรูปแบบ

สมาชิกและบทบาท

เรียนรู้วิธีเชิญผู้ใช้เฉพาะรายและจัดการบทบาท