คู่มือ

วิธีเพิ่มการยืนยันตัวตนสองขั้นตอนในแอปของคุณ

ในการเพิ่มการยืนยันตัวตนสองขั้นตอน (2FA) ให้แอปของคุณ ให้ผู้ใช้เชื่อมต่อแอปยืนยันตัวตน โดยสแกน QR code ถามรหัสหกหลักที่แอปแสดงหลังรหัสผ่าน และสร้างเซสชันเต็มบนเซิร์ฟเวอร์เมื่อรหัสนั้นถูกต้องเท่านั้น ให้ผู้ใช้ทุกคนมีรหัสกู้คืนแบบใช้ครั้งเดียวเมื่อเปิดใช้งาน จำกัดจำนวนรหัสที่ใครบางคนจะเดาได้ และกำหนดให้ต้องใช้รหัสผ่านพร้อมรหัสปัจจุบันก่อนจะปิด 2FA ได้ หากคุณใช้ผู้ให้บริการยืนยันตัวตนแบบโฮสต์ ให้เปิดตัวเลือก multi-factor ในตัวของมันแทนการสร้างเอง

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

ก่อนเริ่ม: คุณต้องมีการล็อกอินที่ทำงานได้

2FA วางอยู่บนการลงชื่อเข้าใช้ที่มีอยู่แล้ว คุณต้องมีอย่างใดอย่างหนึ่งต่อไปนี้ก่อน:

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

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

เลือกปัจจัยที่สองของคุณ

วิธีความพยายามของผู้ใช้ความปลอดภัยค่าใช้จ่ายในการดำเนินการเป็นค่าเริ่มต้นที่ดีไหม?
แอปยืนยันตัวตน (TOTP)สแกน QR code ครั้งเดียว พิมพ์รหัสตอนล็อกอินดี แต่ถูกหลอกได้หากเว็บปลอมขอรหัสฟรีใช่ สำหรับแอปส่วนใหญ่
พาสกีย์หรือคีย์ความปลอดภัยแตะหรือใช้ลายนิ้วมือแข็งแรงที่สุด ต้านการฟิชชิงฟรีใช่ หากผู้ใช้คุ้นเคย
รหัสทางอีเมลตรวจกล่องจดหมายตอนล็อกอินแข็งแรงเท่ากับบัญชีอีเมลนั้นค่าส่งอีเมลเป็นทางสำรองเท่านั้น
รหัส SMSรอข้อความอ่อนที่สุด ถูกสลับซิมและฟิชชิงได้ค่าธรรมเนียมต่อข้อความเฉพาะเมื่อผู้ใช้ใช้แอปไม่ได้

TOTP ย่อมาจาก time-based one-time password ซึ่งเป็นมาตรฐาน (RFC 6238) ที่แอปยืนยันตัวตนใช้ เซิร์ฟเวอร์และโทรศัพท์ของผู้ใช้แชร์ความลับร่วมกัน แต่ละฝ่ายสร้างรหัสสั้นเดียวกันจากความลับนั้นและเวลาปัจจุบัน ซึ่งมักเปลี่ยนทุก 30 วินาที ไม่ต้องใช้การเชื่อมต่อเครือข่ายหรือผู้ให้บริการ SMS

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

สร้างเองหรือเปิดใช้งาน?

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

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

กำหนดนโยบายก่อน

ตอบคำถามเหล่านี้ก่อนพิมพ์พรอมต์ เพราะมันเปลี่ยนการออกแบบ:

  1. ใครต้องใช้? ไม่บังคับสำหรับทุกคน บังคับสำหรับผู้ดูแลระบบและพนักงาน หรือบังคับสำหรับทุกคน การบังคับสำหรับทุกคนที่มีสิทธิ์ผู้ดูแลเป็นเรื่องปกติ ดู การควบคุมการเข้าถึงตามบทบาท
  2. ผู้ใช้ต้องกรอกรหัสบ่อยแค่ไหน? ทุกครั้งที่ล็อกอิน หรือหนึ่งครั้งต่ออุปกรณ์เป็นเวลา 30 วัน ("จำอุปกรณ์นี้")
  3. การกระทำใดต้องตรวจสอบใหม่? การเปลี่ยนอีเมล รายละเอียดการจ่ายเงิน หรือการปิด 2FA เป็นตัวอย่างที่ดี เรียกว่าการยืนยันตัวตนแบบขั้นบันไดหรือ step-up authentication
  4. กระบวนการเมื่อโทรศัพท์หายคืออะไร? รหัสกู้คืน บวกกับทางสำรองแบบแมนนวลที่คุณพร้อมดำเนินการ

ขั้นตอน: TOTP 2FA บนระบบล็อกอินของคุณเอง

1. เก็บฟิลด์ที่ถูกต้อง

ผู้ใช้แต่ละคนต้องมี: สถานะว่าเปิด 2FA หรือไม่ ความลับ TOTP (เข้ารหัสตอนจัดเก็บ ไม่ใช่ข้อความธรรมดา) เวลาที่เปิดใช้งาน และรายการรหัสกู้คืนที่เก็บแบบแฮช เหมือนรหัสผ่าน เพิ่มที่สำหรับนับจำนวนความพยายามที่ล้มเหลว

2. การลงทะเบียน

  1. ผู้ใช้เปิดการตั้งค่าและคลิก เปิดการยืนยันตัวตนสองขั้นตอน
  2. เซิร์ฟเวอร์สร้างความลับใหม่และส่งกลับเป็น QR code พร้อมข้อความความลับสำหรับคนที่สแกนไม่ได้
  3. ผู้ใช้สแกนในแอปยืนยันตัวตนและพิมพ์รหัสปัจจุบัน
  4. เซิร์ฟเวอร์ตรวจรหัส หากถูกต้องเท่านั้นจึงบันทึกความลับและทำเครื่องหมายว่าเปิด 2FA แล้ว
  5. แอปแสดงรหัสกู้คืนแปดถึงสิบรหัสเพียงครั้งเดียวและขอให้ผู้ใช้บันทึกไว้

ขั้นตอนที่ 4 สำคัญ: การเปิด 2FA ก่อนยืนยันรหัสจะล็อกผู้ที่สแกนไม่สำเร็จออกจากบัญชี

3. ล็อกอินพร้อมขั้นตอนที่สอง

  1. ผู้ใช้ส่งอีเมลและรหัสผ่าน เซิร์ฟเวอร์ตรวจสอบ
  2. หากเปิด 2FA ไว้ เซิร์ฟเวอร์จะไม่สร้างเซสชันเต็ม แต่สร้างสถานะ "รอปัจจัยที่สอง" ที่มีอายุสั้นแทน
  3. แอปแสดงหน้าจอรหัส เซิร์ฟเวอร์ตรวจรหัส โดยอนุโลมช่วงเวลาเล็กน้อยสำหรับนาฬิกาที่คลาดเคลื่อน
  4. หลังจากนั้นเซิร์ฟเวอร์จึงออกเซสชันจริง

ทุกเส้นทางและทุก API endpoint ที่ได้รับการป้องกันต้องปฏิเสธสถานะรอ หน้าจอ 2FA ที่ซ่อนหน้าในเบราว์เซอร์เท่านั้นสามารถถูกข้ามได้ด้วยการเรียก API โดยตรง

4. ขีดจำกัดและการแจ้งเตือน

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

5. การกู้คืนและการปิดใช้งาน

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

พรอมต์ที่ให้เครื่องมือสร้างแอปของคุณ

เริ่มด้วยขั้นตอนหลัก:

เพิ่มการยืนยันตัวตนสองขั้นตอนแบบเลือกได้ โดยใช้แอปยืนยันตัวตน (TOTP) กับระบบล็อกอินอีเมลและรหัสผ่านที่มีอยู่ ใช้ไลบรารี TOTP ที่เป็นที่รู้จัก อย่าเขียนอัลกอริทึมเอง ในหน้าการตั้งค่า แสดง QR code และความลับแบบข้อความ เปิดใช้ 2FA หลังจากผู้ใช้กรอกรหัสที่ถูกต้องเท่านั้น เก็บความลับแบบเข้ารหัสและไม่แสดงอีกหลังการตั้งค่า แสดงรหัสกู้คืนแบบใช้ครั้งเดียวสิบรหัสเพียงครั้งเดียว และเก็บในรูปแบบแฮช

จากนั้นการบังคับใช้ ซึ่งโค้ดที่สร้างขึ้นมักทำได้ไม่ถึงที่สุด:

บังคับใช้ 2FA ที่เซิร์ฟเวอร์ หลังจากรหัสผ่านที่ถูกต้อง ผู้ใช้ที่เปิด 2FA จะได้สถานะรอที่มีอายุสั้น ไม่ใช่เซสชันเต็ม ทุกหน้าที่ได้รับการป้องกันและทุก API route ต้องปฏิเสธสถานะรอ จำกัดการลองรหัสที่ 5 ครั้ง จากนั้นล็อกขั้นตอนที่สองเป็นเวลา 15 นาทีและส่งอีเมลแจ้งผู้ใช้

จากนั้นนโยบาย:

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

สุดท้าย ขอให้เอเจนต์อธิบายสิ่งที่สร้าง:

แสดงรายการทุกเส้นทางที่ตรวจว่าขั้นตอนที่สองเสร็จสมบูรณ์แล้ว บอกว่าความลับ TOTP และรหัสกู้คืนถูกเก็บไว้ที่ไหน และป้องกันอย่างไร

ข้อผิดพลาดที่พบบ่อย

  • ออกเซสชันหลังรหัสผ่าน เป็นบั๊กที่ร้ายแรงที่สุด หากเซสชันเต็มมีอยู่ก่อนตรวจรหัส 2FA ก็เป็นแค่การตกแต่ง ทดสอบโดยเรียก API ที่ได้รับการป้องกันหลังขั้นตอนรหัสผ่านเท่านั้น
  • ไม่มีขีดจำกัดความพยายาม การเดาที่ไม่จำกัดทำให้รหัสถูกโจมตีด้วยการเดาแบบบรูทฟอร์ซได้
  • ความลับหรือรหัสกู้คืนแบบข้อความธรรมดา การรั่วไหลของฐานข้อมูลจะมอบปัจจัยที่สองของทุกคนให้ผู้โจมตี
  • เปิดใช้งานก่อนการยืนยัน ผู้ใช้ที่สแกนผิดจะถูกล็อกออกในการล็อกอินครั้งถัดไป
  • ไม่มีเส้นทางกู้คืน โทรศัพท์ที่หายทุกเครื่องจะกลายเป็นคำขอซัพพอร์ตหรือลูกค้าที่หายไป
  • ปิดได้ง่ายเกินไป หากเซสชันที่ถูกขโมยปิด 2FA ได้โดยไม่ต้องใช้รหัส การป้องกันก็หมดไป
  • รหัสในล็อก ตรวจให้แน่ใจว่ารหัสและความลับไม่เคยปรากฏในล็อกของเซิร์ฟเวอร์หรือข้อความแสดงข้อผิดพลาด
  • ตรวจเฉพาะที่หน้าล็อกอิน การรีเซ็ตรหัสผ่าน การล็อกอินแบบลิงก์มหัศจรรย์ (magic link) และการล็อกอินผ่านโซเชียลทั้งหมดต้องเคารพ 2FA ด้วย ไม่เช่นนั้นจะกลายเป็นทางอ้อมให้ข้ามได้

เช็กลิสต์การทดสอบ

  • การลงทะเบียนเสร็จได้เฉพาะหลังกรอกรหัสที่ถูกต้อง
  • การล็อกอินด้วยรหัสผ่านที่ถูกแต่ไม่มีรหัส ไม่ให้สิทธิ์เข้าถึงหน้าหรือ API ที่ได้รับการป้องกันใดๆ
  • รหัสที่ผิดถูกปฏิเสธ และการลองผิดซ้ำๆ ทำให้เกิดการล็อกและอีเมล
  • รหัสจากเมื่อไม่กี่นาทีก่อนถูกปฏิเสธ
  • รหัสกู้คืนแต่ละรหัสใช้ได้ครั้งเดียวเท่านั้น
  • การปิด 2FA ต้องใช้รหัสผ่านและรหัสปัจจุบัน
  • การรีเซ็ตรหัสผ่านไม่ข้าม 2FA
  • ผู้ดูแลที่ไม่มี 2FA เข้าหน้าผู้ดูแลไม่ได้ (หากบังคับใช้)
  • ความลับและรหัสกู้คืนถูกเข้ารหัสหรือแฮชในฐานข้อมูล
  • ไม่มีรหัสหรือความลับปรากฏในล็อก

ทำ เช็กลิสต์ความปลอดภัยสำหรับแอปที่สร้างด้วย AI ทั้งหมดก่อนเปิดตัวด้วย

การเพิ่ม 2FA ใน Mythex

Mythex ไม่มีระบบล็อกอินในตัวสำหรับผู้ใช้ปลายทางของแอปคุณ ดังนั้น 2FA เป็นส่วนหนึ่งของวิธียืนยันตัวตนที่คุณเลือก ไม่ว่าจะเป็นระบบอีเมลและรหัสผ่านของคุณเองโดยใช้ฐานข้อมูลของโปรเจกต์ หรือผู้ให้บริการแบบโฮสต์ที่รองรับ multi-factor คุณอธิบายสิ่งที่ต้องการในแชทด้วยพรอมต์คล้ายด้านบน และคีย์ของผู้ให้บริการใส่ในความลับของโปรเจกต์ (ผ่าน /secrets การตั้งค่าโปรเจกต์ หรือการ์ดความลับที่เอเจนต์แสดง) ไม่ใช่ในกล่องข้อความ สูตร เพิ่มการล็อกอินในแอปของคุณ ในเอกสารมีพรอมต์เริ่มต้น และ ความปลอดภัยสำหรับแอปที่คุณสร้าง ครอบคลุมนิสัยเรื่องคีย์และสิทธิ์ หลังเอเจนต์ทำเสร็จ ให้ทดสอบทุกข้อในเช็กลิสต์ใน Preview ก่อนเผยแพร่

คำถาม

วิธีที่ง่ายที่สุดในการเพิ่มการยืนยันตัวตนสองขั้นตอนในแอปคืออะไร?

หากคุณใช้ผู้ให้บริการยืนยันตัวตนแบบโฮสต์ ให้เปิดตัวเลือก multi-factor ในตัวของผู้ให้บริการนั้น ซึ่งมักใช้โค้ดน้อยที่สุด หากคุณดูแลระบบล็อกอินเอง ให้เพิ่มรหัสจากแอปยืนยันตัวตน (TOTP) ด้วยไลบรารีที่เป็นที่รู้จัก พร้อมรหัสกู้คืนและการตรวจสอบฝั่งเซิร์ฟเวอร์

ควรใช้รหัส SMS สำหรับ 2FA หรือไม่?

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

ต้องมีฐานข้อมูลไหมเพื่อเพิ่ม 2FA?

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

ถ้าผู้ใช้ทำโทรศัพท์หายจะเกิดอะไรขึ้น?

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

Mythex · Pricing · สร้างอะไรก็ได้ด้วย AI · เทมเพลตเว็บไซต์และแอป · เปรียบเทียบ Mythex · อภิธานศัพท์การสร้างแอปด้วย AI · เครื่องมือฟรีสำหรับสร้างแอปด้วย AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)