Auth interface

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

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

ลายเซ็น:

export interface Auth 

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

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

วิธีการ

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

Auth.app

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

ลายเซ็น:

readonly app: FirebaseApp;

Auth.config

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

ลายเซ็น:

readonly config: Config;

Auth.currentUser

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

ลายเซ็น:

readonly currentUser: User | null;

Auth.emulatorConfig

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

ลายเซ็น:

readonly emulatorConfig: EmulatorConfig | null;

Auth.languageCode

รหัสภาษาของอินสแตนซ์การตรวจสอบสิทธิ์

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

ลายเซ็น:

languageCode: string | null;

Auth.name

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

ลายเซ็น:

readonly name: string;

Auth.settings

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

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

ลายเซ็น:

readonly settings: AuthSettings;

Auth.tenantId

รหัสกลุ่มผู้ใช้ของอินสแตนซ์การตรวจสอบสิทธิ์

พร็อพเพอร์ตี้นี้เป็นพร็อพเพอร์ตี้ที่อ่าน/เขียนได้ เมื่อคุณตั้งค่ารหัสกลุ่มผู้ใช้ของอินสแตนซ์ 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>;

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

Promise<void>

Auth.beforeAuthStateChanged()

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

ลายเซ็น:

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

พารามิเตอร์

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

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

ยกเลิกการรับข่าวสาร

Auth.onAuthStateChanged()

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

ยกเลิกการรับข่าวสาร

Auth.onIdTokenChanged()

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

ยกเลิกการรับข่าวสาร

Auth.setPersistence()

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

Promise<void>

ตัวอย่าง

auth.setPersistence(browserSessionPersistence);

Auth.signOut()

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

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

ลายเซ็น:

signOut(): Promise<void>;

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

Promise<void>

Auth.updateCurrentUser()

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

Promise<void>

Auth.useDeviceLanguage()

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

ลายเซ็น:

useDeviceLanguage(): void;

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

void