Firebase

Firebase + JavaScript: วิธีตรวจสอบการลงทะเบียน Email ซ้ำ

เรื่องที่เกี่ยวข้อง - Authentication, Firebase, Firebase Authentication, Node.js

อันนี้เป็นทริคเล็กๆ ในการตรวจสอบว่ามี Email ในฐานข้อมูลผู้ใช้ของ Firebase หรือยัง โดยฉบับนี้จะเป็นการใช้ JavaScript ในฝั่ง Node.js นะครับ

ซึ่งตัวอย่างนี้อัพเกรดสำหรับ Web 9 เป็นต้นไป ดังนั้นหากเราเริ่มใช้ Firebase ที่อัพเดตในปี 2021 ก็ดูเป็นตัวอย่างได้เลย

ตัวอย่าง

import { getAuth, fetchSignInMethodsForEmail } from "firebase/auth";

const auth = getAuth()
const methods = await fetchSignInMethodsForEmail(auth, email)

if (methods.length > 0) {
    console.log(`${email} already used.`)
} else {
    console.log(`${email} is available`)
}

ซึ่งวิธีนี้ใช้ function ที่ชื่อว่า fetchSignInMethodsForEmail โดยผลที่ได้จากการเรียกใช้ function นี้จะทำให้เราได้รายการของวิธีที่ใช้ในการ Sign in ของ Email ดังกล่าวได้

โดยข้อมูลที่ได้กลับมาจะเป็น Array ของ String นั่นเอง

ซึ่งอย่างน้อยที่สุด ก็ต้องมี 1 วิธีที่ใช้กับ Email ที่มีการลงทะเบียนไว้แล้ว แต่ถ้าเกิด Array ดังกล่าว ไม่มีข้อมูลด้านในเลย หรือที่เรียกว่า length = 0 ก็หมายความว่า Email นี้ไม่มีการลงทะเบียนไว้ในฐานข้อมูลนั่นเอง

กรณีที่พบว่า Email ยังไม่ได้ถูกใช้ในการลงทะเบียนมาก่อน ก็สามารถจะอนุญาตให้ผู้ใช้ ใช้ Email นั้นได้

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

อ้างอิง – StackOverflow

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

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

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save