Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ตรวจสอบสิทธิ์กับ Firebase โดยไม่ระบุตัวตนโดยใช้ JavaScript

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

ก่อนที่คุณจะเริ่ม

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

ตรวจสอบสิทธิ์กับ Firebase โดยไม่ระบุตัวตน

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

  1. เรียกเมธอด signInAnonymously :
    firebase.auth().signInAnonymously().catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    
    ซึ่งเป็นที่ที่คุณสามารถจับและจัดการกับข้อผิดพลาดได้ สำหรับรายการรหัสข้อผิดพลาดโปรดดูที่ Auth Reference Docs
  2. หากเมธอด signInAnonymously เสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดผู้สังเกตการณ์ที่ลงทะเบียนใน onAuthStateChanged จะทริกเกอร์และคุณสามารถรับข้อมูลบัญชีของผู้ใช้ที่ไม่ระบุชื่อได้จากวัตถุ User :
    firebase.auth().onAuthStateChanged(function(user) {
      if (user) {
        // User is signed in.
        var isAnonymous = user.isAnonymous;
        var uid = user.uid;
        // ...
      } else {
        // User is signed out.
        // ...
      }
      // ...
    });

แปลงบัญชีนิรนามเป็นบัญชีถาวร

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

  1. เมื่อผู้ใช้สมัครใช้งานให้กรอกขั้นตอนการลงชื่อเข้าใช้สำหรับผู้ให้บริการการพิสูจน์ตัวตนของผู้ใช้จนถึง แต่ไม่รวมถึงการเรียกใช้หนึ่งใน Auth.signInWith ตัวอย่างเช่นรับโทเค็น Google ID ของผู้ใช้โทเค็นการเข้าถึง Facebook หรือที่อยู่อีเมลและรหัสผ่าน
  2. รับ AuthCredential สำหรับผู้ให้บริการรับรองความถูกต้องใหม่:

    การลงชื่อเข้าใช้ Google
    var credential = firebase.auth.GoogleAuthProvider.credential(
        googleUser.getAuthResponse().id_token);
    
    เข้าสู่ระบบ Facebook
    var credential = firebase.auth.FacebookAuthProvider.credential(
        response.authResponse.accessToken);
    
    การลงชื่อเข้าใช้อีเมล - รหัสผ่าน
    var credential = firebase.auth.EmailAuthProvider.credential(email, password);
    
  3. ส่งผ่านวัตถุ AuthCredential ไปยังวิธีการ link ของผู้ใช้ที่ลงชื่อเข้าใช้:

    auth.currentUser.linkWithCredential(credential)
      .then(function(usercred) {
        var user = usercred.user;
        console.log("Anonymous account successfully upgraded", user);
      }).catch(function(error) {
        console.log("Error upgrading anonymous account", error);
      });

หากการโทรเพื่อ link สำเร็จบัญชีใหม่ของผู้ใช้จะสามารถเข้าถึงข้อมูล Firebase ของบัญชีที่ไม่ระบุชื่อได้

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

ตอนนี้ผู้ใช้สามารถตรวจสอบสิทธิ์กับ Firebase ได้แล้วคุณสามารถควบคุมการเข้าถึงข้อมูลในฐานข้อมูล Firebase ได้ โดยใช้ กฎ Firebase