Auth interface

อินเทอร์เฟซที่แสดงบริการ Firebase Auth

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

ลายเซ็น:

export interface Auth 

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ ประเภท คำอธิบาย
แอป แอป Firebase FirebaseApp ที่เชื่อมโยงกับอินสแตนซ์บริการ Auth
การกำหนดค่า การกำหนดค่า การกำหนดค่าที่ใช้เริ่มต้นอินสแตนซ์นี้
ผู้ใช้ปัจจุบัน ผู้ใช้ | ค่าว่าง ผู้ใช้ที่ลงชื่อเข้าใช้อยู่ในขณะนี้ (หรือค่าว่าง)
emulatorConfig EmulatorConfig | ค่าว่าง การกำหนดค่าโปรแกรมจำลองปัจจุบัน (หรือค่าว่าง)
รหัสภาษา สตริง | ค่าว่าง รหัสภาษาของอินสแตนซ์ Auth
name สตริง ชื่อแอปที่เชื่อมโยงกับอินสแตนซ์บริการ Auth
การตั้งค่า การตั้งค่าการตรวจสอบสิทธิ์ การตั้งค่าอินสแตนซ์ Auth
รหัสกลุ่มผู้ใช้ สตริง | ค่าว่าง รหัสกลุ่มผู้ใช้ของอินสแตนซ์ Auth

เมธอด

วิธีการ คำอธิบาย
authStateReady() จะแสดงสัญญาที่แก้ไขได้ทันทีเมื่อสถานะการตรวจสอบสิทธิ์เริ่มต้นได้รับการแก้ไขแล้ว เมื่อสัญญาสำเร็จ ผู้ใช้ปัจจุบันอาจเป็นผู้ใช้ที่ถูกต้องหรือ null หากผู้ใช้ออกจากระบบ
beforeAuthStateChanged(callback, onAbort) เพิ่ม Callback ที่บล็อกซึ่งทำงานก่อนการเปลี่ยนแปลงสถานะการตรวจสอบสิทธิ์จะตั้งค่าผู้ใช้ใหม่
onAuthStateChanged(nextOrObserver, ข้อผิดพลาด, เสร็จสมบูรณ์) เพิ่มผู้สังเกตการณ์สำหรับการเปลี่ยนแปลงสถานะการลงชื่อเข้าใช้ของผู้ใช้
onIdTokenChanged(nextOrObserver, ข้อผิดพลาด, เสร็จสมบูรณ์) เพิ่มผู้สังเกตการณ์สำหรับการเปลี่ยนแปลงโทเค็นรหัสของผู้ใช้ที่ลงชื่อเข้าใช้
setPersistence(ความต่อเนื่อง) เปลี่ยนประเภทความต่อเนื่องในอินสแตนซ์ Auth
signOut() นำผู้ใช้ปัจจุบันออกจากระบบ การดำเนินการนี้จะไม่เพิกถอนโทเค็นรหัสของผู้ใช้โดยอัตโนมัติ
updateCurrentUser(ผู้ใช้) ไม่พร้อมกันจะตั้งค่าผู้ใช้ที่ระบุเป็น Auth.currentUser ในอินสแตนซ์ Auth
useDeviceLanguage() ตั้งค่าภาษาปัจจุบันเป็นค่ากําหนดอุปกรณ์/เบราว์เซอร์เริ่มต้น

Auth.app

FirebaseApp ที่เชื่อมโยงกับอินสแตนซ์บริการ Auth

ลายเซ็น:

readonly app: FirebaseApp;

Auth.config

การกำหนดค่าที่ใช้เริ่มต้นอินสแตนซ์นี้

ลายเซ็น:

readonly config: Config;

Auth.currentUser

ผู้ใช้ที่ลงชื่อเข้าใช้อยู่ในขณะนี้ (หรือค่าว่าง)

ลายเซ็น:

readonly currentUser: User | null;

Auth.emulatorConfig

การกำหนดค่าโปรแกรมจำลองปัจจุบัน (หรือค่าว่าง)

ลายเซ็น:

readonly emulatorConfig: EmulatorConfig | null;

Auth.languageCode

รหัสภาษาของอินสแตนซ์ Auth

ซึ่งเป็นพร็อพเพอร์ตี้ที่อ่าน/เขียนได้ เมื่อตั้งค่าเป็น Null ระบบจะใช้การตั้งค่าภาษาเริ่มต้นของคอนโซล Firebase รหัสภาษาจะเผยแพร่ไปยังเทมเพลตการดำเนินการกับอีเมล (การรีเซ็ตรหัสผ่าน การยืนยันอีเมล และการเพิกถอนการเปลี่ยนอีเมล) เทมเพลต SMS สำหรับการตรวจสอบสิทธิ์ทางโทรศัพท์ เครื่องมือยืนยัน reCAPTCHA และการดำเนินการป๊อปอัป/การเปลี่ยนเส้นทาง OAuth หากผู้ให้บริการที่ระบุรองรับการแปลด้วยรหัสภาษาที่ระบุ

ลายเซ็น:

languageCode: string | null;

Auth.name

ชื่อแอปที่เชื่อมโยงกับอินสแตนซ์บริการ Auth

ลายเซ็น:

readonly name: string;

Auth.settings

การตั้งค่าอินสแตนซ์ Auth

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

ลายเซ็น:

readonly settings: AuthSettings;

รหัส Auth.tenantId

รหัสกลุ่มผู้ใช้ของอินสแตนซ์ Auth

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

ลายเซ็น:

tenantId: string | null;

ตัวอย่าง

// Set the tenant ID on Auth instance.
auth.tenantId = 'TENANT_PROJECT_ID';

// All future sign-in request now include tenant ID.
const result = await signInWithEmailAndPassword(auth, email, password);
// result.user.tenantId should be 'TENANT_PROJECT_ID'.

Auth.authStateReady()

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

ลายเซ็น:

authStateReady(): Promise<void>;

การคืนสินค้า:

คำสัญญา<โมฆะ>

Auth.beforeAuthStateChanged()

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

ลายเซ็น:

beforeAuthStateChanged(callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
Callback (user: ผู้ใช้ | ค่าว่าง) => เป็นโมฆะ | คำสัญญา<โมฆะ> Callback ที่เรียกใช้ก่อนที่จะมีการกำหนดค่าผู้ใช้ใหม่ หากเกิดกรณีนี้ขึ้น ระบบจะบล็อกผู้ใช้ไม่ให้ตั้งค่า
ล้มเลิก () => เป็นโมฆะ Callback ที่ทริกเกอร์หากมีการเรียกกลับ beforeAuthStateChanged() ในภายหลัง ซึ่งจะช่วยให้คุณเลิกทำผลข้างเคียงได้

การคืนสินค้า:

ยกเลิกการสมัคร

Auth.onAuthStateChanged()

เพิ่มผู้สังเกตการณ์สำหรับการเปลี่ยนแปลงสถานะการลงชื่อเข้าใช้ของผู้ใช้

หากต้องการรักษาลักษณะการทำงานเดิมไว้ โปรดดู Auth.onIdTokenChanged()

ลายเซ็น:

onAuthStateChanged(nextOrObserver: NextOrObserver<User | null>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
NextOrObserver NextOrObserver<ผู้ใช้ | ค่าว่าง> Callback ที่ทริกเกอร์เมื่อมีการเปลี่ยนแปลง
ข้อผิดพลาด ErrorFn เลิกใช้งานแล้ว ระบบจะไม่ทริกเกอร์ Callback นี้ ข้อผิดพลาดในการลงชื่อเข้าใช้/ออกจากระบบอาจพบในสัญญาที่ส่งคืนจากฟังก์ชันลงชื่อเข้าใช้/ออกจากระบบ
เสร็จสิ้น CompleteFn เลิกใช้งานแล้ว ระบบจะไม่ทริกเกอร์ Callback นี้

การคืนสินค้า:

ยกเลิกการสมัคร

Auth.onIdTokenChanged()

เพิ่มผู้สังเกตการณ์สำหรับการเปลี่ยนแปลงโทเค็นรหัสของผู้ใช้ที่ลงชื่อเข้าใช้

ซึ่งรวมถึงเหตุการณ์การลงชื่อเข้าใช้ การออกจากระบบ และการรีเฟรชโทเค็น

ลายเซ็น:

onIdTokenChanged(nextOrObserver: NextOrObserver<User | null>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
NextOrObserver NextOrObserver<ผู้ใช้ | ค่าว่าง> Callback ที่ทริกเกอร์เมื่อมีการเปลี่ยนแปลง
ข้อผิดพลาด ErrorFn เลิกใช้งานแล้ว ระบบจะไม่ทริกเกอร์ Callback นี้ ข้อผิดพลาดในการลงชื่อเข้าใช้/ออกจากระบบอาจพบในสัญญาที่ส่งคืนจากฟังก์ชันลงชื่อเข้าใช้/ออกจากระบบ
เสร็จสิ้น CompleteFn เลิกใช้งานแล้ว ระบบจะไม่ทริกเกอร์ Callback นี้

การคืนสินค้า:

ยกเลิกการสมัคร

Auth.setPersistence()

เปลี่ยนประเภทความต่อเนื่องในอินสแตนซ์ Auth

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

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

เมธอดนี้ไม่ทำงานในสภาพแวดล้อม Node.js

ลายเซ็น:

setPersistence(persistence: Persistence): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การคงอยู่ ความต่อเนื่อง Persistence ที่จะใช้

การคืนสินค้า:

คำสัญญา<โมฆะ>

ตัวอย่าง

auth.setPersistence(browserSessionPersistence);

Auth.signOut()

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

วิธีนี้ใช้ไม่ได้กับอินสแตนซ์ Auth ที่สร้างด้วย FirebaseServerApp

ลายเซ็น:

signOut(): Promise<void>;

การคืนสินค้า:

คำสัญญา<โมฆะ>

Auth.updateCurrentUser()

ไม่พร้อมกันจะตั้งค่าผู้ใช้ที่ระบุเป็น Auth.currentUser ในอินสแตนซ์ Auth

ระบบจะสร้างสำเนาอินสแตนซ์ใหม่ของผู้ใช้ที่ระบุและตั้งค่าเป็นผู้ใช้ปัจจุบัน

การดำเนินการนี้จะทริกเกอร์ Listener Auth.onAuthStateChanged() และ Auth.onIdTokenChanged() เช่นเดียวกับวิธีการลงชื่อเข้าใช้อื่นๆ

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

ลายเซ็น:

updateCurrentUser(user: User | null): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ผู้ใช้ ผู้ใช้ | ค่าว่าง ผู้ใช้ ใหม่

การคืนสินค้า:

คำสัญญา<โมฆะ>

Auth.useDeviceLanguage()

ตั้งค่าภาษาปัจจุบันเป็นค่ากําหนดอุปกรณ์/เบราว์เซอร์เริ่มต้น

ลายเซ็น:

useDeviceLanguage(): void;

การคืนสินค้า:

เป็นโมฆะ