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

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