Antarmuka yang merepresentasikan layanan Firebase Auth.
Baca Firebase Authentication untuk mengetahui panduan lengkap tentang cara menggunakan layanan Firebase Auth.
Tanda Tangan:
export interface Auth
Properti
Properti | Jenis | Deskripsi |
---|---|---|
app | AplikasiFirebase | FirebaseApp yang terkait dengan instance layanan Auth . |
konfigurasi | Konfigurasi | Config digunakan untuk menginisialisasi instance ini. |
currentUser | Pengguna | null (kosong) | Pengguna yang sedang login (atau null). |
emulatorConfig | EmulatorConfig | null (kosong) | Konfigurasi emulator saat ini (atau null). |
languageCode | rangkaian | null (kosong) | Kode bahasa instance Auth. |
name | string | Nama aplikasi yang terkait dengan instance layanan Auth . |
setelan | AuthSettings | Setelan instance Auth. |
tenantId | rangkaian | null (kosong) | ID tenant instance Auth. |
Metode
Metode | Deskripsi |
---|---|
authStateReady(). | menampilkan promise yang segera selesai saat status autentikasi awal diselesaikan. Ketika promise diselesaikan, pengguna saat ini mungkin adalah pengguna valid atau null jika pengguna logout. |
beforeAuthStateChanges(callback, onAbort) | Menambahkan callback pemblokiran yang berjalan sebelum perubahan status autentikasi menetapkan pengguna baru. |
onAuthStateChange(nextOrObserver, error, selesai) | Menambahkan observer untuk perubahan pada status login pengguna. |
onIdTokenDiubah(nextOrObserver, error, selesai) | Menambahkan observer untuk perubahan pada token ID pengguna yang login. |
setPersistence(persistensi) | Mengubah jenis persistensi pada instance Auth . |
signOut() | Membuat pengguna saat ini logout. Tindakan ini tidak otomatis mencabut token ID pengguna. |
updateCurrentUser(pengguna) | Tetapkan pengguna yang disediakan secara asinkron sebagai Auth.currentUser pada instance Auth. |
useDeviceLanguage() | Menyetel bahasa saat ini ke preferensi perangkat/browser default. |
Aplikasi Auth
FirebaseApp yang terkait dengan instance layanan Auth
.
Tanda Tangan:
readonly app: FirebaseApp;
Auth.config
Config digunakan untuk menginisialisasi instance ini.
Tanda Tangan:
readonly config: Config;
Auth.currentUser
Pengguna yang sedang login (atau null).
Tanda Tangan:
readonly currentUser: User | null;
Auth.emulatorConfig
Konfigurasi emulator saat ini (atau null).
Tanda Tangan:
readonly emulatorConfig: EmulatorConfig | null;
Auth.languageCode
Kode bahasa instance Auth.
Ini adalah properti yang dapat dibaca/dapat ditulis. Jika disetel ke null, setelan bahasa Firebase Console default akan diterapkan. Kode bahasa akan diterapkan ke template tindakan email (reset sandi, verifikasi email, dan pembatalan perubahan email), template SMS untuk autentikasi telepon, pemverifikasi reCAPTCHA, dan operasi pop-up/pengalihan OAuth asalkan penyedia yang ditentukan mendukung pelokalan dengan kode bahasa yang ditentukan.
Tanda Tangan:
languageCode: string | null;
Nama.Autentikasi
Nama aplikasi yang terkait dengan instance layanan Auth
.
Tanda Tangan:
readonly name: string;
Setelan Auth
Setelan instance Auth.
Tindakan ini digunakan untuk mengedit/membaca opsi terkait konfigurasi seperti mode verifikasi aplikasi untuk autentikasi ponsel.
Tanda Tangan:
readonly settings: AuthSettings;
Auth.tenantId
ID tenant instance Auth.
Ini adalah properti yang dapat dibaca/dapat ditulis. Saat Anda menetapkan ID tenant dari instance Auth, semua operasi login/pendaftaran berikutnya akan meneruskan ID tenant ini dan membuat pengguna login atau mendaftarkan pengguna ke project tenant yang ditentukan. Jika disetel ke null, pengguna akan login ke project induk.
Tanda Tangan:
tenantId: string | null;
Contoh
// 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()
menampilkan promise yang segera selesai saat status autentikasi awal diselesaikan. Ketika promise diselesaikan, pengguna saat ini mungkin adalah pengguna valid atau null
jika pengguna logout.
Tanda Tangan:
authStateReady(): Promise<void>;
Hasil:
Janji<void>
Auth.beforeAuthStateChanges()
Menambahkan callback pemblokiran yang berjalan sebelum perubahan status autentikasi menetapkan pengguna baru.
Tanda Tangan:
beforeAuthStateChanged(callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
callback | (pengguna: User | null) => tidak berlaku | Janji<void> | yang dipicu sebelum nilai pengguna baru ditetapkan. Jika ditampilkan, tindakan ini akan memblokir penetapan pengguna. |
Batalkan | () => kosong | callback dipicu jika callback beforeAuthStateChanged() berikutnya ditampilkan, yang memungkinkan Anda mengurungkan efek samping apa pun. |
Hasil:
Auth.onAuthStateChanges()
Menambahkan observer untuk perubahan pada status login pengguna.
Untuk mempertahankan perilaku lama, lihat Auth.onIdTokenDiubah().
Tanda Tangan:
onAuthStateChanged(nextOrObserver: NextOrObserver<User | null>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
nextOrObserver | NextOrObserver<Pengguna | null> | yang dipicu saat terjadi perubahan. |
error | ErrorFn | Tidak digunakan lagi. Callback ini tidak pernah dipicu. Error saat login/logout dapat ditemukan dalam promise yang ditampilkan dari fungsi login/logout. |
selesai | CompleteFn | Tidak digunakan lagi. Callback ini tidak pernah dipicu. |
Hasil:
Auth.onIdTokenDiubah()
Menambahkan observer untuk perubahan pada token ID pengguna yang login.
Peristiwa ini mencakup peristiwa login, logout, dan refresh token.
Tanda Tangan:
onIdTokenChanged(nextOrObserver: NextOrObserver<User | null>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
nextOrObserver | NextOrObserver<Pengguna | null> | yang dipicu saat terjadi perubahan. |
error | ErrorFn | Tidak digunakan lagi. Callback ini tidak pernah dipicu. Error saat login/logout dapat ditemukan dalam promise yang ditampilkan dari fungsi login/logout. |
selesai | CompleteFn | Tidak digunakan lagi. Callback ini tidak pernah dipicu. |
Hasil:
Auth.setPersistence()
Mengubah jenis persistensi pada instance Auth
.
Hal ini akan memengaruhi sesi Auth yang saat ini disimpan dan menerapkan jenis persistensi ini untuk permintaan login berikutnya, termasuk login dengan permintaan pengalihan.
Hal ini memudahkan pengguna untuk login untuk menentukan apakah sesi mereka harus diingat atau tidak. Hal ini juga mempermudah untuk tidak mempertahankan status Auth untuk aplikasi yang dibagikan oleh pengguna lain atau memiliki data sensitif.
Metode ini tidak berfungsi di lingkungan Node.js.
Tanda Tangan:
setPersistence(persistence: Persistence): Promise<void>;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
persistensi | Persistensi | Persistensi yang akan digunakan. |
Hasil:
Janji<void>
Contoh
auth.setPersistence(browserSessionPersistence);
Auth.signOut()
Membuat pengguna saat ini logout. Tindakan ini tidak otomatis mencabut token ID pengguna.
Metode ini tidak didukung oleh instance Auth yang dibuat dengan FirebaseServerApp.
Tanda Tangan:
signOut(): Promise<void>;
Hasil:
Janji<void>
Auth.updateCurrentUser()
Tetapkan pengguna yang disediakan secara asinkron sebagai Auth.currentUser pada instance Auth.
Salinan instance baru dari pengguna yang disediakan akan dibuat dan ditetapkan sebagai currentUser.
Tindakan ini akan memicu pemroses Auth.onAuthStateChanges(), dan Auth.onIdTokenChanges(), seperti metode login lainnya.
Operasi akan gagal dengan error jika pengguna yang akan diupdate adalah bagian dari project Firebase yang berbeda.
Tanda Tangan:
updateCurrentUser(user: User | null): Promise<void>;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
user | Pengguna | null (kosong) | Pengguna baru. |
Hasil:
Janji<void>
Auth.useDeviceLanguage()
Menyetel bahasa saat ini ke preferensi perangkat/browser default.
Tanda Tangan:
useDeviceLanguage(): void;
Hasil:
void