อินเทอร์เฟซที่แสดงบริการ 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;
การคืนสินค้า:
เป็นโมฆะ