Catch up on everthing we announced at this year's Firebase Summit. Learn more

ตรวจสอบสิทธิ์ด้วย Firebase ด้วยหมายเลขโทรศัพท์โดยใช้ JavaScript

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

วิธีที่ง่ายที่สุดในการเพิ่มหมายเลขโทรศัพท์ลงชื่อเข้าใช้แอปของคุณคือการใช้ FirebaseUI ซึ่งรวมถึงการลดลงในการลงชื่อเข้าใช้เครื่องมือที่ดำเนินการลงนามในกระแสสำหรับหมายเลขโทรศัพท์ลงชื่อเข้าใช้เช่นเดียวกับที่ใช้รหัสผ่านและเข้าสู่ระบบแบบ federated -ใน. เอกสารนี้อธิบายวิธีใช้งานขั้นตอนการลงชื่อเข้าใช้หมายเลขโทรศัพท์โดยใช้ Firebase SDK

ก่อนจะเริ่ม

หากคุณยังไม่ได้คัดลอกข้อมูลการเริ่มต้นจาก Firebase คอนโซล กับโครงการของคุณตามที่อธิบายใน การเพิ่ม Firebase กับโครงการ JavaScript ของคุณ

ความกังวลด้านความปลอดภัย

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

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

เปิดใช้การลงชื่อเข้าใช้หมายเลขโทรศัพท์สำหรับโปรเจ็กต์ Firebase

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

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

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

ตั้งค่าตัวตรวจสอบ reCAPTCHA

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

คุณไม่จำเป็นต้องตั้งค่าไคลเอ็นต์ reCAPTCHA ด้วยตนเอง เมื่อคุณใช้ Firebase ของ SDK RecaptchaVerifier วัตถุ Firebase จะสร้างและจัดการคีย์ลูกค้าใด ๆ ที่จำเป็นและความลับ

RecaptchaVerifier วัตถุสนับสนุน ที่มองไม่เห็น reCAPTCHA ซึ่งมักจะสามารถตรวจสอบผู้ใช้โดยไม่ต้องมีการดำเนินการผู้ใช้ใด ๆ เช่นเดียวกับ reCAPTCHA เครื่องมือซึ่งมักจะต้องโต้ตอบกับผู้ใช้ให้เสร็จสมบูรณ์

สามารถแปล reCAPTCHA ที่แสดงผลพื้นฐานตามความต้องการของผู้ใช้ได้โดยอัปเดตรหัสภาษาบนอินสแตนซ์ Auth ก่อนแสดงผล reCAPTCHA การแปลดังกล่าวจะนำไปใช้กับข้อความ SMS ที่ส่งไปยังผู้ใช้ซึ่งมีรหัสยืนยัน

เว็บรุ่น 9

import { getAuth } from "firebase/auth";

const auth = getAuth();
auth.languageCode = 'it';
// To apply the default browser preference instead of explicitly setting it.
// firebase.auth().useDeviceLanguage();

เว็บรุ่น8

firebase.auth().languageCode = 'it';
// To apply the default browser preference instead of explicitly setting it.
// firebase.auth().useDeviceLanguage();

ใช้ reCAPTCHA . ที่มองไม่เห็น

หากต้องการใช้ที่มองไม่เห็น reCAPTCHA สร้าง RecaptchaVerifier วัตถุที่มี size ชุดพารามิเตอร์ invisible ระบุ ID ของปุ่มที่ส่งสัญญาณในรูปแบบของคุณ ตัวอย่างเช่น:

เว็บรุ่น 9

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

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier('sign-in-button', {
  'size': 'invisible',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    onSignInSubmit();
  }
}, auth);

เว็บรุ่น8

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('sign-in-button', {
  'size': 'invisible',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    onSignInSubmit();
  }
});

ใช้วิดเจ็ต reCAPTCHA

เมื่อต้องการใช้เครื่องมือ reCAPTCHA มองเห็นสร้างองค์ประกอบบนหน้าของคุณจะมีเครื่องมือที่แล้วสร้าง RecaptchaVerifier วัตถุระบุ ID ของภาชนะที่เมื่อคุณทำเช่นนั้น ตัวอย่างเช่น:

เว็บรุ่น 9

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

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier('recaptcha-container', {}, auth);

เว็บรุ่น8

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');

ทางเลือก: ระบุพารามิเตอร์ reCAPTCHA

คุณสามารถตั้งค่าตัวเลือกฟังก์ชั่นการโทรกลับใน RecaptchaVerifier วัตถุที่เรียกว่าเมื่อแก้ผู้ใช้ reCAPTCHA หรือ reCAPTCHA หมดอายุก่อนที่ผู้ใช้ส่งรูปแบบ:

เว็บรุ่น 9

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

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier('recaptcha-container', {
  'size': 'normal',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    // ...
  },
  'expired-callback': () => {
    // Response expired. Ask user to solve reCAPTCHA again.
    // ...
  }
}, auth);

เว็บรุ่น8

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container', {
  'size': 'normal',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    // ...
  },
  'expired-callback': () => {
    // Response expired. Ask user to solve reCAPTCHA again.
    // ...
  }
});

ทางเลือก: แสดงผลล่วงหน้า reCAPTCHA

หากคุณต้องการก่อนทำให้ reCAPTCHA ก่อนที่จะส่งสัญญาณในคำขอโทร render :

เว็บรุ่น 9

recaptchaVerifier.render().then((widgetId) => {
  window.recaptchaWidgetId = widgetId;
});

เว็บรุ่น8

recaptchaVerifier.render().then((widgetId) => {
  window.recaptchaWidgetId = widgetId;
});

หลังจากที่ render แก้คุณจะได้รับรหัสวิดเจ็ต reCAPTCHA ซึ่งคุณสามารถใช้เพื่อโทรไป reCAPTCHA API:

เว็บรุ่น 9

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

เว็บรุ่น8

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

ส่งรหัสยืนยันไปยังโทรศัพท์ของผู้ใช้

เพื่อเริ่มต้นการหมายเลขโทรศัพท์ลงชื่อเข้านำเสนอส่วนติดต่อผู้ใช้ที่แจ้งให้พวกเขาเพื่อให้หมายเลขโทรศัพท์ของพวกเขาแล้วโทร signInWithPhoneNumber เพื่อขอให้ Firebase ส่งรหัสการตรวจสอบไปยังโทรศัพท์ของผู้ใช้โดย SMS:

  1. รับหมายเลขโทรศัพท์ของผู้ใช้

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

  2. โทร signInWithPhoneNumber ผ่านไปหมายเลขโทรศัพท์ของผู้ใช้และ RecaptchaVerifier คุณสร้างขึ้นก่อนหน้านี้

    เว็บรุ่น 9

    import { getAuth, signInWithPhoneNumber } from "firebase/auth";
    
    const phoneNumber = getPhoneNumberFromUserInput();
    const appVerifier = window.recaptchaVerifier;
    
    const auth = getAuth();
    signInWithPhoneNumber(auth, phoneNumber, appVerifier)
        .then((confirmationResult) => {
          // SMS sent. Prompt user to type the code from the message, then sign the
          // user in with confirmationResult.confirm(code).
          window.confirmationResult = confirmationResult;
          // ...
        }).catch((error) => {
          // Error; SMS not sent
          // ...
        });

    เว็บรุ่น8

    const phoneNumber = getPhoneNumberFromUserInput();
    const appVerifier = window.recaptchaVerifier;
    firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
        .then((confirmationResult) => {
          // SMS sent. Prompt user to type the code from the message, then sign the
          // user in with confirmationResult.confirm(code).
          window.confirmationResult = confirmationResult;
          // ...
        }).catch((error) => {
          // Error; SMS not sent
          // ...
        });
    หาก signInWithPhoneNumber ผลในข้อผิดพลาดรีเซ็ต reCAPTCHA เพื่อให้ผู้ใช้สามารถลองอีกครั้ง:
    grecaptcha.reset(window.recaptchaWidgetId);
    
    // Or, if you haven't stored the widget ID:
    window.recaptchaVerifier.render().then(function(widgetId) {
      grecaptcha.reset(widgetId);
    }
    

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

เข้าสู่ระบบผู้ใช้ด้วยรหัสยืนยัน

หลังจากที่การเรียกร้องให้ signInWithPhoneNumber ประสบความสำเร็จแจ้งให้ผู้ใช้พิมพ์รหัสยืนยันที่พวกเขาได้รับจาก SMS จากนั้นเข้าสู่ระบบของผู้ใช้โดยผ่านรหัสเพื่อ confirm วิธีการ ConfirmationResult วัตถุที่ถูกส่งผ่านไปยัง signInWithPhoneNumber 's จัดการการปฏิบัติตาม (นั่นคือมัน then บล็อก) ตัวอย่างเช่น:

เว็บรุ่น 9

const code = getCodeFromUserInput();
confirmationResult.confirm(code).then((result) => {
  // User signed in successfully.
  const user = result.user;
  // ...
}).catch((error) => {
  // User couldn't sign in (bad verification code?)
  // ...
});

เว็บรุ่น8

const code = getCodeFromUserInput();
confirmationResult.confirm(code).then((result) => {
  // User signed in successfully.
  const user = result.user;
  // ...
}).catch((error) => {
  // User couldn't sign in (bad verification code?)
  // ...
});

ถ้าโทรไป confirm ประสบความสำเร็จผู้ใช้จะได้ประสบความสำเร็จในการลงนามใน

รับวัตถุ AuthCredential ระดับกลาง

หากคุณต้องการที่จะได้รับ AuthCredential วัตถุสำหรับบัญชีของผู้ใช้ผ่านรหัสยืนยันจากผลการยืนยันและรหัสยืนยันที่จะ PhoneAuthProvider.credential แทนการโทร confirm :

var credential = firebase.auth.PhoneAuthProvider.credential(confirmationResult.verificationId, code);

จากนั้น คุณสามารถลงชื่อเข้าใช้ผู้ใช้ด้วยข้อมูลประจำตัว:

firebase.auth().signInWithCredential(credential);

ทดสอบด้วยหมายเลขโทรศัพท์สมมติ

คุณสามารถตั้งค่าหมายเลขโทรศัพท์สมมติสำหรับการพัฒนาผ่านคอนโซล Firebase การทดสอบด้วยหมายเลขโทรศัพท์สมมติให้ประโยชน์เหล่านี้:

  • ทดสอบการตรวจสอบหมายเลขโทรศัพท์โดยไม่ใช้โควต้าการใช้งานของคุณ
  • ทดสอบการตรวจสอบหมายเลขโทรศัพท์โดยไม่ต้องส่งข้อความ SMS จริง
  • ทำการทดสอบต่อเนื่องด้วยหมายเลขโทรศัพท์เดียวกันโดยไม่ถูกจำกัดปริมาณ ซึ่งจะช่วยลดความเสี่ยงที่จะถูกปฏิเสธระหว่างกระบวนการตรวจสอบ App Store หากผู้ตรวจสอบบังเอิญใช้หมายเลขโทรศัพท์เดียวกันสำหรับการทดสอบ
  • ทดสอบได้อย่างง่ายดายในสภาพแวดล้อมการพัฒนาโดยไม่ต้องใช้ความพยายามเพิ่มเติม เช่น ความสามารถในการพัฒนาในโปรแกรมจำลอง iOS หรือโปรแกรมจำลอง Android โดยไม่ต้องใช้ Google Play Services
  • เขียนการทดสอบการรวมโดยไม่ถูกบล็อกโดยการตรวจสอบความปลอดภัยซึ่งปกติแล้วจะใช้กับหมายเลขโทรศัพท์จริงในสภาพแวดล้อมที่ใช้งานจริง

หมายเลขโทรศัพท์สมมติต้องเป็นไปตามข้อกำหนดเหล่านี้:

  1. ตรวจสอบให้แน่ใจว่าคุณใช้หมายเลขโทรศัพท์ที่สมมติขึ้นจริง และยังไม่มีอยู่จริง การตรวจสอบสิทธิ์ Firebase ไม่อนุญาตให้คุณตั้งค่าหมายเลขโทรศัพท์ที่มีอยู่ซึ่งผู้ใช้จริงใช้เป็นหมายเลขทดสอบ ตัวเลือกหนึ่งคือการใช้ 555 หมายเลขนำหน้าหมายเลขโทรศัพท์ทดสอบสหรัฐตัวอย่างเช่น: +1 650-555-3434
  2. หมายเลขโทรศัพท์ต้องอยู่ในรูปแบบที่ถูกต้องสำหรับความยาวและข้อจำกัดอื่นๆ พวกเขาจะยังคงผ่านการตรวจสอบเดียวกันกับหมายเลขโทรศัพท์ของผู้ใช้จริง
  3. คุณสามารถเพิ่มหมายเลขโทรศัพท์สำหรับการพัฒนาได้สูงสุด 10 หมายเลข
  4. ใช้หมายเลขโทรศัพท์/รหัสทดสอบที่เดายากและเปลี่ยนบ่อย

สร้างหมายเลขโทรศัพท์สมมติและรหัสยืนยัน

  1. ใน คอนโซล Firebase เปิดการตรวจสอบสิทธิ์
  2. เข้าสู่ระบบลงในแท็บวิธีการที่ช่วยให้ผู้ให้บริการโทรศัพท์ถ้าคุณยังไม่ได้
  3. เปิดหมายเลขโทรศัพท์สำหรับการทดสอบเมนูหีบเพลง
  4. ระบุหมายเลขโทรศัพท์ที่คุณต้องการในการทดสอบตัวอย่างเช่น: +1 650-555-3434
  5. ระบุรหัสยืนยัน 6 หลักสำหรับจำนวนเฉพาะที่ตัวอย่างเช่น: 654321
  6. เพิ่มจำนวน หากจำเป็น คุณสามารถลบหมายเลขโทรศัพท์และรหัสได้โดยวางเมาส์เหนือแถวที่เกี่ยวข้องแล้วคลิกไอคอนถังขยะ

การทดสอบด้วยตนเอง

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

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

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

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

การทดสอบบูรณาการ

นอกเหนือจากการทดสอบด้วยตนเองแล้ว การตรวจสอบสิทธิ์ของ Firebase ยังมี API เพื่อช่วยเขียนการทดสอบการรวมสำหรับการทดสอบการตรวจสอบสิทธิ์ทางโทรศัพท์ API เหล่านี้ปิดใช้งานการตรวจสอบแอปโดยปิดใช้งานข้อกำหนด reCAPTCHA ในเว็บและการแจ้งเตือนแบบเงียบใน iOS สิ่งนี้ทำให้การทดสอบอัตโนมัติเป็นไปได้ในโฟลว์เหล่านี้และง่ายต่อการนำไปใช้ นอกจากนี้ยังช่วยให้สามารถทดสอบขั้นตอนการยืนยันทันทีบน Android

บนเว็บชุด appVerificationDisabledForTesting ไป true ก่อนที่จะแสดงผล firebase.auth.RecaptchaVerifier การดำเนินการนี้จะแก้ไข reCAPTCHA โดยอัตโนมัติ ช่วยให้คุณส่งหมายเลขโทรศัพท์โดยไม่ต้องแก้ไขด้วยตนเอง โปรดทราบว่าแม้ว่า reCAPTCHA จะถูกปิดใช้งาน แต่การใช้หมายเลขโทรศัพท์ที่ไม่สมมติจะยังคงไม่สามารถลงชื่อเข้าใช้ให้เสร็จสมบูรณ์ได้ เฉพาะหมายเลขโทรศัพท์สมมติเท่านั้นที่สามารถใช้กับ API นี้ได้

// Turn off phone auth app verification.
firebase.auth().settings.appVerificationDisabledForTesting = true;

var phoneNumber = "+16505554567";
var testVerificationCode = "123456";

// This will render a fake reCAPTCHA as appVerificationDisabledForTesting is true.
// This will resolve after rendering without app verification.
var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
// signInWithPhoneNumber will call appVerifier.verify() which will resolve with a fake
// reCAPTCHA response.
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
    .then(function (confirmationResult) {
      // confirmationResult can resolve with the fictional testVerificationCode above.
      return confirmationResult.confirm(testVerificationCode)
    }).catch(function (error) {
      // Error; SMS not sent
      // ...
    });

ตัวตรวจสอบแอป reCAPTCHA จำลองที่มองเห็นได้และมองไม่เห็นทำงานแตกต่างกันเมื่อปิดการตรวจสอบแอป:

  • reCAPTCHA แสดง: เมื่อ reCAPTCHA มองเห็นการแสดงผลผ่านทาง appVerifier.render() มันจะหายไปเองหลังจากที่ส่วนของความล่าช้าที่สอง ซึ่งเทียบเท่ากับที่ผู้ใช้คลิก reCAPTCHA ทันทีที่แสดงผล การตอบกลับ reCAPTCHA จะหมดอายุหลังจากผ่านไประยะหนึ่ง จากนั้นจะแก้ไขอัตโนมัติอีกครั้ง
  • reCAPTCHA ที่มองไม่เห็น: มองไม่เห็น reCAPTCHA ไม่อัตโนมัติแก้ไขด้วยการแสดงผลและแทนที่จะทำเช่นนั้นใน appVerifier.verify() โทรหรือเมื่อสมอปุ่มของ reCAPTCHA คลิกหลังจากส่วนของความล่าช้าที่สอง ในทำนองเดียวกันการตอบสนองจะหมดอายุหลังจากบางเวลาและจะมีเพียงอัตโนมัติแก้ปัญหาอย่างใดอย่างหนึ่งหลังจากที่ appVerifier.verify() โทรหรือเมื่อสมอปุ่มของ reCAPTCHA คลิกอีกครั้ง

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

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

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

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

  • ในฐานข้อมูล Firebase เรียลไทม์และการจัดเก็บเมฆ กฎการรักษาความปลอดภัย , คุณจะได้รับการลงนามใน ID ผู้ใช้ของผู้ใช้ที่ไม่ซ้ำกันจาก auth ตัวแปรและใช้ในการควบคุมสิ่งที่ข้อมูลที่เข้าถึงผู้ใช้สามารถ

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

ออกจากระบบผู้ใช้โทร signOut :

เว็บรุ่น 9

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

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

เว็บรุ่น8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});