การยืนยันหมายเลขโทรศัพท์ของ 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-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 ทีละขั้นตอน