เชื่อมต่อแอพของคุณกับ Authentication Emulator

ก่อนใช้โปรแกรมจำลองการตรวจสอบสิทธิ์กับแอปของคุณ ตรวจสอบให้แน่ใจว่าคุณ เข้าใจเวิร์กโฟลว์ Firebase Local Emulator Suite โดยรวม และคุณ ติดตั้งและกำหนดค่า Local Emulator Suite และตรวจสอบ คำสั่ง CLI

ฉันจะทำอะไรกับโปรแกรมจำลองการตรวจสอบสิทธิ์ได้บ้าง

โปรแกรมจำลองการตรวจสอบสิทธิ์มีการจำลองบริการ Firebase Authentication ในเครื่องที่มีความเที่ยงตรงสูง โดยให้ฟังก์ชันการทำงานส่วนใหญ่ที่พบใน การผลิต Firebase Authentication เมื่อจับคู่กับแพลตฟอร์ม Apple, Android และ Web Firebase SDK แล้ว อีมูเลเตอร์จะช่วยให้คุณ:

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

เลือกโปรเจ็กต์ Firebase

Firebase Local Emulator Suite จำลองผลิตภัณฑ์สำหรับโปรเจ็กต์ Firebase เดียว

ในการเลือกโปรเจ็กต์ที่จะใช้ ก่อนที่คุณจะเริ่มอีมูเลเตอร์ ใน CLI ให้รัน firebase use ในไดเร็กทอรีการทำงานของคุณ หรือคุณสามารถส่ง --project แฟล็กไปยังแต่ละคำสั่งอีมูเลเตอร์

Local Emulator Suite รองรับการจำลองโปรเจ็กต์ Firebase จริง และโปรเจ็กต์ สาธิต

ประเภทโครงการ คุณสมบัติ ใช้กับอีมูเลเตอร์
จริง

โปรเจ็กต์ Firebase จริงคือโปรเจ็กต์ที่คุณสร้างและกำหนดค่า (ส่วนใหญ่ผ่านคอนโซล Firebase)

โปรเจ็กต์จริงมีทรัพยากรจริง เช่น อินสแตนซ์ฐานข้อมูล ที่เก็บข้อมูลของพื้นที่เก็บข้อมูล ฟังก์ชัน หรือทรัพยากรอื่นๆ ที่คุณตั้งค่าสำหรับโปรเจ็กต์ Firebase นั้น

เมื่อทำงานกับโปรเจ็กต์ Firebase จริง คุณสามารถเรียกใช้โปรแกรมจำลองสำหรับผลิตภัณฑ์ที่รองรับใดๆ หรือทั้งหมดได้

สำหรับผลิตภัณฑ์ใดๆ ที่คุณไม่ได้จำลอง แอปและโค้ดของคุณจะโต้ตอบกับทรัพยากรที่ใช้งาน อยู่ (อินสแตนซ์ฐานข้อมูล ที่เก็บข้อมูล ฟังก์ชัน ฯลฯ)

การสาธิต

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

รหัสโครงการสำหรับโครงการสาธิตมี demo- หน้าการสาธิต

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

เราขอแนะนำให้คุณใช้โปรเจ็กต์สาธิตในทุกที่ที่ทำได้ ประโยชน์รวมถึง:

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

เครื่องมือแอปของคุณเพื่อพูดคุยกับโปรแกรมจำลองการตรวจสอบสิทธิ์

SDK สำหรับ Android, iOS และเว็บ

ตั้งค่าคอนฟิกูเรชันในแอปหรือคลาสทดสอบเพื่อโต้ตอบกับโปรแกรมจำลองการตรวจสอบสิทธิ์ดังนี้

Android
FirebaseAuth.getInstance().useEmulator('10.0.2.2', 9099);
Swift
Auth.auth().useEmulator(withHost:"localhost", port:9099)

Web version 9

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

const auth = getAuth();
connectAuthEmulator(auth, "http://localhost:9099");

Web version 8

const auth = firebase.auth();
auth.useEmulator("http://localhost:9099");

ไม่จำเป็นต้องตั้งค่าเพิ่มเติมเพื่อสร้างต้นแบบและทดสอบการโต้ตอบระหว่าง Authentication และ Cloud Functions หรือ Firebase Security Rules for Cloud Firestore หรือ Realtime Database เมื่อมีการกำหนดค่าโปรแกรมจำลองการตรวจสอบสิทธิ์และโปรแกรมจำลองอื่นๆ กำลังทำงาน โปรแกรมจำลองจะทำงานร่วมกันโดยอัตโนมัติ

Admin SDKs

Firebase Admin SDK จะเชื่อมต่อกับโปรแกรมจำลองการตรวจสอบสิทธิ์โดยอัตโนมัติเมื่อตั้งค่าตัวแปรสภาพแวดล้อม FIREBASE_AUTH_EMULATOR_HOST

export FIREBASE_AUTH_EMULATOR_HOST="localhost:9099"

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

ด้วยชุดตัวแปรสภาพแวดล้อม Firebase Admin SDK จะยอมรับโทเค็น ID ที่ไม่ได้ลงนามและคุกกี้ของเซสชันที่ออกโดยโปรแกรมจำลองการตรวจสอบสิทธิ์ (ผ่านวิธี verifyIdToken และ createSessionCookie ตามลำดับ) เพื่ออำนวยความสะดวกในการพัฒนาและการทดสอบในพื้นที่ โปรด อย่า ตั้งค่าตัวแปรสภาพแวดล้อมในการผลิต

หากคุณต้องการให้โค้ด Admin SDK เชื่อมต่อกับโปรแกรมจำลองที่ใช้ร่วมกันที่ทำงานในสภาพแวดล้อมอื่น คุณจะต้องระบุ รหัสโปรเจ็กต์เดียวกันกับที่คุณตั้งค่าโดยใช้ Firebase CLI คุณสามารถส่งรหัสโปรเจ็กต์เพื่อ initializeApp แอปโดยตรงหรือตั้งค่าตัวแปรสภาพแวดล้อม GCLOUD_PROJECT

Node.js ผู้ดูแลระบบ SDK
admin.initializeApp({ projectId: "your-project-id" });
ตัวแปรสภาพแวดล้อม
export GCLOUD_PROJECT="your-project-id"

ID Tokens

ด้วยเหตุผลด้านความปลอดภัย โปรแกรมจำลองการตรวจสอบสิทธิ์จะออกโทเค็น ID ที่ ไม่ได้ลงนาม ซึ่งยอมรับโดยโปรแกรมจำลอง Firebase อื่นๆ หรือ Firebase Admin SDK เมื่อ กำหนดค่า โทเค็นเหล่านี้จะถูกปฏิเสธโดยบริการ Firebase ที่ใช้งานจริงหรือ Firebase Admin SDK ที่ทำงานในโหมดใช้งานจริง (เช่น ลักษณะการทำงานเริ่มต้นโดยไม่มีขั้นตอนการตั้งค่าที่อธิบายไว้ข้างต้น)

หากต้องการเริ่มต้นการสร้างต้นแบบแบบโต้ตอบด้วยโปรแกรมจำลองการตรวจสอบสิทธิ์และ Emulator Suite UI ให้เริ่ม Firebase Local Emulator Suite

firebase emulators:start

สำหรับ การตรวจสอบแบบไม่ระบุตัวตน แอปของคุณสามารถใช้ตรรกะการลงชื่อเข้าใช้สำหรับแพลตฟอร์มของคุณ ( iOS , Android , เว็บ )

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

  1. ใน Emulator Suite UI ให้คลิกแท็บ Authentication
  2. คลิกปุ่ม เพิ่มผู้ใช้
  3. ทำตามวิซาร์ดการสร้างบัญชีผู้ใช้โดยกรอกข้อมูลในฟิลด์การตรวจสอบสิทธิ์อีเมล

เมื่อสร้างผู้ใช้ทดสอบแล้ว แอปของคุณสามารถลงชื่อเข้าใช้และออกจากระบบของผู้ใช้ด้วยตรรกะ SDK สำหรับแพลตฟอร์มของคุณ ( iOS , Android , เว็บ )

สำหรับการทดสอบการยืนยัน/ลงชื่อเข้าใช้อีเมลด้วยโฟลว์ลิงก์อีเมล โปรแกรมจำลองจะพิมพ์ URL ไปยังเทอร์มินัลที่ดำเนินการ firebase emulators:start

i  To verify the email address customer@ex.com, follow this link:
http://localhost:9099/emulator/action?mode=verifyEmail&lang=en&oobCode=XYZ123&apiKey=fake-api-key

วางลิงก์ลงในเบราว์เซอร์ของคุณเพื่อจำลองเหตุการณ์การยืนยัน และตรวจสอบว่าการยืนยันสำเร็จหรือไม่

{
  "authEmulator": {
    "success": "The email has been successfully verified.",
    "email": "customer@example.com"
  }
}

สำหรับการทดสอบการรีเซ็ตรหัสผ่าน โปรแกรมจำลองจะพิมพ์ URL ที่คล้ายกัน รวมถึงพารามิเตอร์ newPassword (ซึ่งคุณอาจเปลี่ยนแปลงได้ตามต้องการ) ไปยังเทอร์มินัล

http://localhost:9099/emulator/action?mode=resetPassword&oobCode=XYZ!23&apiKey=fake-api-key&newPassword=YOUR_NEW_PASSWORD

การทดสอบแบบไม่โต้ตอบ

แทนที่จะใช้ UI ของ Emulator Suite หรือรหัสไคลเอ็นต์เพื่อจัดการบัญชีผู้ใช้อีเมล/รหัสผ่าน คุณสามารถเขียนสคริปต์การตั้งค่าการทดสอบที่เรียกใช้ REST API เพื่อสร้างและลบบัญชีผู้ใช้ และดึงรหัสยืนยันอีเมลนอกแบนด์เพื่อเติมข้อมูลการยืนยันอีเมลของโปรแกรมจำลอง URL. สิ่งนี้ทำให้แพลตฟอร์มและโค้ดทดสอบแยกจากกัน และช่วยให้คุณทดสอบแบบไม่โต้ตอบได้

สำหรับขั้นตอนการทดสอบอีเมลและรหัสผ่านแบบไม่โต้ตอบ ลำดับโดยทั่วไปจะเป็นดังนี้

  1. สร้างผู้ใช้ด้วย จุดสิ้นสุดการลงชื่อสมัครใช้การตรวจสอบสิทธิ์ REST
  2. ลงชื่อเข้าใช้ผู้ใช้โดยใช้อีเมลและรหัสผ่านเพื่อทำการทดสอบ
  3. หากใช้ได้กับการทดสอบของคุณ ให้ดึงรหัสยืนยันอีเมลนอกวงที่มีจากจุด สิ้นสุด REST เฉพาะโปรแกรมจำลอง
  4. ล้างข้อมูลบันทึกของผู้ใช้ด้วย จุดสิ้นสุด REST เฉพาะของโปรแกรมจำลอง สำหรับการล้างข้อมูล

การยืนยันตัวตนทางโทรศัพท์/SMS จำลอง

สำหรับการตรวจสอบสิทธิ์ทางโทรศัพท์ โปรแกรมจำลอง Auth ไม่รองรับ:

  • โฟลว์ reCAPTCHA และ APN เมื่อกำหนดค่าให้โต้ตอบกับโปรแกรมจำลองแล้ว SDK ไคลเอ็นต์จะปิดใช้งานวิธีการตรวจสอบเหล่านี้ในลักษณะเดียวกับที่อธิบายไว้สำหรับการทดสอบการรวม ( iOS , Android , เว็บ )
  • ทดสอบหมายเลขโทรศัพท์ด้วยรหัสที่กำหนดค่าไว้ล่วงหน้าในคอนโซล Firebase

ไม่เช่นนั้น ในแง่ของรหัสไคลเอ็นต์ โฟลว์การตรวจสอบสิทธิ์โทรศัพท์/SMS จะเหมือนกับขั้นตอนที่อธิบายไว้สำหรับเวอร์ชันที่ใช้งานจริง ( iOS , Android , เว็บ )

การใช้ UI ของ Emulator Suite:

  1. ใน Emulator Suite UI ให้คลิกแท็บ Authentication
  2. คลิกปุ่ม เพิ่มผู้ใช้
  3. ทำตามวิซาร์ดการสร้างบัญชีผู้ใช้โดยกรอกข้อมูลในฟิลด์การตรวจสอบความถูกต้องของโทรศัพท์

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

การทดสอบแบบไม่โต้ตอบ

สำหรับการทดสอบการตรวจสอบสิทธิ์โทรศัพท์แบบไม่โต้ตอบ ให้ใช้ REST API ตัวจำลองการตรวจสอบสิทธิ์เพื่อดึงรหัส SMS ที่พร้อมใช้งาน โปรดทราบว่าโค้ดจะแตกต่างกันทุกครั้งที่คุณเริ่มโฟลว์

ลำดับทั่วไปมีดังนี้

  1. โทรหาแพลตฟอร์ม signInWithPhoneNumber เพื่อเริ่มกระบวนการตรวจสอบ
  2. ดึงรหัสยืนยันโดยใช้ จุดสิ้นสุด REST เฉพาะโปรแกรมจำลอง
  3. โทร confirmationResult.confirm(code) ตามปกติด้วยรหัสยืนยัน

การรับรองความถูกต้องของผู้ให้บริการข้อมูลประจำตัวบุคคลที่สาม (IDP) ที่จำลองขึ้น

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

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

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

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

การทดสอบโฟลว์ IDP ที่ขับเคลื่อนโดย Firebase SDK

หากแอปของคุณใช้ขั้นตอนแบบ end-to-end ของ Firebase SDK เช่น OAuthProvider สำหรับการลงชื่อเข้าใช้ด้วย Microsoft, GitHub หรือ Yahoo สำหรับการทดสอบเชิงโต้ตอบ โปรแกรมจำลองการตรวจสอบสิทธิ์จะให้บริการเวอร์ชันท้องถิ่นของหน้าลงชื่อเข้าใช้ที่เกี่ยวข้องเพื่อช่วยคุณทดสอบ การตรวจสอบสิทธิ์จากเว็บแอปที่เรียกใช้ signinWithPopup หรือ signInWithRedirect หน้าลงชื่อเข้าใช้ที่แสดงในเครื่องนี้ยังปรากฏในแอปมือถือ ซึ่งแสดงผลโดยไลบรารี webview ของแพลตฟอร์มของคุณ

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

การทดสอบโฟลว์ IDP ด้วยการดึงข้อมูลรับรองด้วยตนเอง

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

โปรดทราบว่าอีมูเลเตอร์รองรับเฉพาะการตรวจสอบสิทธิ์ signInWithCredential สำหรับข้อมูลรับรองที่ดึงมาจาก Google Sign-In, Apple และผู้ให้บริการอื่นๆ ที่ใช้โทเค็น ID ที่ใช้งานเป็น JSON Web Tokens (JWT) ไม่รองรับโทเค็นการเข้าถึง (เช่น ที่จัดหาโดย Facebook หรือ Twitter ซึ่งไม่ใช่ JWT) ส่วนถัดไปจะกล่าวถึงทางเลือกอื่นในกรณีเหล่านี้

การทดสอบแบบไม่โต้ตอบ

วิธีหนึ่งในการทดสอบแบบไม่โต้ตอบคือการทำให้ผู้ใช้คลิกอัตโนมัติบนหน้าลงชื่อเข้าใช้ที่โปรแกรมจำลองแสดง สำหรับเว็บแอป ให้ใช้อินเทอร์เฟซการควบคุม เช่น WebDriver สำหรับอุปกรณ์เคลื่อนที่ ให้ใช้เครื่องมือทดสอบ UI จากแพลตฟอร์มของคุณ เช่น Espresso หรือ Xcode

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

  1. เชื่อมต่อใหม่หรือแสดงความคิดเห็นในส่วนของรหัสของคุณที่ดึง idTokens จาก IDP สิ่งนี้ทำให้ไม่จำเป็นต้องป้อนชื่อผู้ใช้และรหัสผ่านจริงในระหว่างการทดสอบของคุณ และลดการทดสอบของคุณจากโควต้า API และขีดจำกัดอัตราที่ IDP
  2. ประการที่สอง ใช้สตริง JSON ตามตัวอักษรแทนโทเค็นสำหรับ signInWithCredential คุณสามารถเปลี่ยนรหัสเป็น:
firebase.auth().signInWithCredential(firebase.auth.GoogleAuthProvider.credential(
  '{"sub": "abc123", "email": "foo@example.com", "email_verified": true}'
));

เมื่อใช้กับอีมูเลเตอร์ รหัสนี้จะรับรองความถูกต้องผู้ใช้ด้วยอีเมล foo@example.com ที่ Google ได้สำเร็จ ให้คิดว่าช่องย่อยเป็นคีย์หลัก ซึ่งสามารถเปลี่ยนเป็นสตริงใดก็ได้ โดยเป็นการเยาะเย้ยการลงชื่อเข้าใช้ผู้ใช้ต่างๆ คุณสามารถแทนที่ firebase.auth.GoogleAuthProvider ด้วย เช่น new firebase.auth.OAuthProvider('yahoo.com') หรือ ID ผู้ให้บริการอื่นๆ ที่คุณต้องการจำลอง

Authentication emulator แตกต่างจากการผลิตอย่างไร

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

คลาวด์ IAM

Firebase Emulator Suite จะไม่พยายามทำซ้ำหรือเคารพพฤติกรรมที่เกี่ยวข้องกับ IAM สำหรับการรัน โปรแกรมจำลองปฏิบัติตามกฎความปลอดภัยของ Firebase ที่มีให้ แต่ในสถานการณ์ที่ปกติแล้ว IAM จะถูกใช้ ตัวอย่างเช่น การตั้งค่า Cloud Functions ที่เรียกใช้บัญชีบริการและการอนุญาต โปรแกรมจำลองจะไม่สามารถกำหนดค่าได้และจะใช้บัญชีที่พร้อมใช้งานทั่วโลกบนเครื่องของนักพัฒนาซอฟต์แวร์ของคุณ คล้ายกับการรันสคริปต์ในเครื่องโดยตรง

เนื่องจากในแพลตฟอร์มมือถือ การลงชื่อเข้าใช้ลิงก์อีเมลอาศัย Firebase Dynamic Links ลิงก์ดังกล่าวทั้งหมดจะเปิดขึ้นบนแพลตฟอร์มเว็บ (มือถือ) แทน

การลงชื่อเข้าใช้บุคคลที่สาม

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

ข้อมูลประจำตัวจริงจากผู้ให้บริการ OpenID Connect เช่น Google และ Apple ได้รับการยอมรับจากโปรแกรมจำลองการตรวจสอบสิทธิ์ ไม่รองรับข้อมูลรับรองจากผู้ให้บริการที่ไม่ใช่ OpenID Connect

อีเมล / SMS ลงชื่อเข้าใช้

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

อีมูเลเตอร์ไม่รองรับความสามารถในการกำหนดหมายเลขโทรศัพท์ทดสอบด้วยรหัสล็อกอินคงที่ ซึ่งสามารถทำได้โดยใช้คอนโซล Firebase

อัตราจำกัด/ต่อต้านการละเมิด

ตัวจำลองการตรวจสอบสิทธิ์ไม่ทำซ้ำคุณสมบัติการจำกัดอัตราการผลิตหรือต่อต้านการละเมิด

อะไรต่อไป?

  • สำหรับชุดวิดีโอที่ได้รับการดูแลจัดการและตัวอย่างวิธีการโดยละเอียด ให้ทำตาม เพลย์ลิสต์การฝึกอบรม Firebase Emulators

  • เนื่องจากฟังก์ชันที่ทริกเกอร์เป็นการผสานรวมกับการตรวจสอบสิทธิ์โดยทั่วไป เรียนรู้เพิ่มเติมเกี่ยวกับ Cloud Functions for Firebase emulator ที่ ฟังก์ชัน Run ใน เครื่อง