การยืนยันหมายเลขโทรศัพท์ของ Firebase

Firebase Phone Number Verification (Firebase PNV) เป็นวิธีที่รวดเร็วและปลอดภัยยิ่งขึ้นในการยืนยัน หมายเลขโทรศัพท์ โดย Firebase PNV จะทำงานโดยรับหมายเลขโทรศัพท์ ที่กำหนดให้กับซิมในอุปกรณ์จากผู้ให้บริการที่เชื่อมต่อโดยตรงด้วยการ แตะเพียงครั้งเดียว ซึ่งแตกต่างจากการยืนยันด้วย SMS ที่กำหนดให้ผู้ใช้ต้องรับ และป้อนรหัสจากข้อความ SMS วิธีนี้ช่วยลดความยุ่งยากสำหรับผู้ใช้ ปรับปรุงความน่าเชื่อถือด้วยการไม่ขึ้นอยู่กับการส่งข้อความ SMS และขจัดเวกเตอร์การละเมิดที่มักถูกนำมาใช้เมื่อใช้ SMS

ความสามารถหลัก

ผู้ให้บริการเป็นแหล่งข้อมูลที่เชื่อถือได้ เมื่อใช้ Firebase PNV ทาง Google จะรับหมายเลขโทรศัพท์ที่ยืนยันแล้วสำหรับซิม จากผู้ให้บริการโดยตรง ซึ่งจะบอกหมายเลขที่อยู่ในอุปกรณ์ ที่เรียกใช้แอปของคุณในขณะนี้ OTP ทาง SMS จะบอกได้เพียงว่าผู้ใช้มี สิทธิ์เข้าถึงหมายเลขโทรศัพท์หรือไม่
ใช้แบบสแตนด์อโลนหรือใช้ร่วมกับผู้ให้บริการข้อมูลประจำตัว คุณสามารถใช้ Firebase PNV แบบสแตนด์อโลนเป็นวิธีที่ง่ายต่อการผสานรวมและเชื่อถือได้ในการยืนยันหมายเลขโทรศัพท์ หรือใช้เป็นวิธีการลงชื่อเข้าใช้ด้วย Firebase Authentication หรือระบบการตรวจสอบสิทธิ์ของคุณเองก็ได้
ใช้ผู้ให้บริการที่มีอยู่โดยอัตโนมัติ คุณสามารถใช้ Firebase PNV SDK เพื่อตรวจหาความเข้ากันได้และกลับไปใช้ วิธีอื่น เช่น SMS เมื่ออุปกรณ์ยังไม่รองรับ Firebase PNV Firebase PNV จะพร้อมให้บริการแก่ผู้ให้บริการทั่วโลกทีละน้อย เมื่อมีผู้ให้บริการรายใหม่ คุณสามารถใช้ผู้ให้บริการดังกล่าวโดยอัตโนมัติโดยไม่ต้องเปลี่ยนแปลงแอปเพิ่มเติม ดูรายชื่อผู้ให้บริการที่เข้าร่วมได้ที่การรองรับผู้ให้บริการ
ขจัดการโจมตีแบบฟิชชิงทาง SMS เนื่องจาก Firebase PNV ไม่ได้ส่งข้อความ SMS เพื่อยืนยันหมายเลขโทรศัพท์ ผู้ใช้จึงไม่สามารถถูกฟิชชิงรหัสผ่านแบบใช้ครั้งเดียว ซึ่งอาจนำไปใช้ในการโจมตีเพื่อยึดบัญชีได้

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

เมื่อคุณส่งคำขอการยืนยันหมายเลขโทรศัพท์ Firebase PNV

  1. ตรวจสอบว่าอุปกรณ์และผู้ให้บริการเครือข่ายมือถือของผู้ใช้ได้รับการรองรับ

  2. ขอความยินยอมจากผู้ใช้ในการแชร์หมายเลขโทรศัพท์กับแอปของคุณ

  3. ทำงานร่วมกับผู้ให้บริการเครือข่ายมือถือที่กำหนดให้กับซิมเพื่อรับหมายเลขโทรศัพท์ที่ยืนยันแล้ว

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

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

เส้นทางการติดตั้งใช้งาน

ตั้งค่าโปรเจ็กต์ Firebase ใน Firebase คอนโซล, ให้ทำตามขั้นตอนการเริ่มต้นใช้งานเพื่อเปิดใช้การเรียกเก็บเงินและ Firebase Phone Number Verification API สำหรับ โปรเจ็กต์ Firebase
ติดตั้ง SDK และเริ่มต้น ติดตั้ง Firebase PNV SDK สำหรับแพลตฟอร์มของแอป SDK กำหนดให้ การยืนยันแบรนด์ OAuth ต้องเสร็จสมบูรณ์แล้ว
ออกแบบหน้าจอคำอธิบาย (แนะนำ) ก่อนที่จะทริกเกอร์ UI ความยินยอมของผู้ใช้อย่างเป็นทางการ ให้แจ้งว่า ผู้ใช้ต้องเลือกซิมเพื่อดึงหมายเลข และอธิบายว่าวิธีนี้รวดเร็วและ ปลอดภัยกว่า OTP ทาง SMS อย่างไร ซึ่งจะช่วยลดความสับสนและฝึกให้ผู้ใช้คุ้นเคยกับโฟลว์การยืนยันหมายเลขโทรศัพท์ใหม่
ตรวจสอบความเข้ากันได้ของอุปกรณ์และผู้ให้บริการ (แนะนำ) เมื่อแอปเปิดตัว ให้ใช้ Firebase PNV SDK เพื่อตรวจสอบว่า อุปกรณ์และผู้ให้บริการเครือข่ายมือถือเข้ากันได้กับ Firebase PNV หากเข้ากันได้ ให้แสดงหน้าจอคำอธิบายและขอความยินยอม หากไม่เข้ากัน, ให้ใช้วิธีการยืนยันหมายเลขโทรศัพท์แบบเดิม เช่น SMS
ขอหมายเลขโทรศัพท์ที่ยืนยันแล้ว ใช้ Firebase PNV SDK เพื่อขอหมายเลขโทรศัพท์ที่ยืนยันแล้วของอุปกรณ์จากผู้ให้บริการเครือข่ายมือถือ ซึ่งจะทริกเกอร์ความยินยอมของผู้ใช้ ซึ่งหน้าจอคำอธิบายจะช่วยเตรียมให้ผู้ใช้ทำตามขั้นตอนให้เสร็จสมบูรณ์
ยืนยันโทเค็นการตอบกลับ ในการตอบกลับจากบริการ Firebase PNV คุณจะได้รับโทเค็นที่ลงชื่อแล้ว ซึ่ง คุณสามารถส่งไปยังแบ็กเอนด์ของแอปได้ จากนั้นให้ยืนยันลายเซ็นของโทเค็นในแบ็กเอนด์ หากลายเซ็นถูกต้อง โทเค็น จะมีหมายเลขโทรศัพท์ที่ยืนยันแล้วของอุปกรณ์

ขั้นตอนถัดไป

  • ดูคู่มือเริ่มต้นใช้งานใน Android เพื่อเรียนรู้วิธี ทดสอบ Firebase PNVในแอป Android โดยใช้โหมดทดสอบแบบไม่มีซิม
  • ลองใช้ Codelab ซึ่งจะแนะนำวิธี ผสานรวม Firebase PNV เข้ากับแอป Android ทีละขั้นตอน