อินเทอร์เฟซที่แสดงบริการ 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