Auth interface

Antarmuka yang mewakili layanan Firebase Auth.

Lihat Firebase Authentication untuk mendapatkan panduan lengkap mengenai cara menggunakan layanan Firebase Auth.

Tanda Tangan:

export interface Auth 

Properti

Properti Jenis Deskripsi
app FirebaseApp FirebaseApp yang terkait dengan instance layanan Auth.
konfigurasi Konfigurasi Config yang digunakan untuk menginisialisasi instance ini.
currentUser Pengguna | null Pengguna yang sedang login (atau null).
emulatorConfig EmulatorConfig | null Konfigurasi emulator saat ini (atau null).
languageCode string | null Kode bahasa instance Auth.
name string Nama aplikasi yang terkait dengan instance layanan Auth.
setelan AuthSettings Setelan instance Auth.
tenantId string | null ID tenant instance Auth.

Metode

Metode Deskripsi
authStateReady() mengembalikan promise yang langsung di-resolve saat status autentikasi awal telah diselesaikan. Setelah promise di-resolve, pengguna saat ini mungkin adalah pengguna yang valid atau null jika pengguna logout.
beforeAuthStateChanged(callback, onAbort) Menambahkan callback pemblokiran yang berjalan sebelum perubahan status autentikasi menetapkan pengguna baru.
onAuthStateChanged(nextOrObserver, error, completed) Menambahkan observer untuk perubahan pada status login pengguna.
onIdTokenChanged(nextOrObserver, error, completed) Menambahkan observer untuk perubahan pada token ID pengguna yang login.
setPersistence(persistence) Mengubah jenis persistensi pada instance Auth.
signOut() Membuat pengguna saat ini logout. Tindakan ini tidak otomatis mencabut token ID pengguna.
updateCurrentUser(user) Secara asinkron menetapkan pengguna yang disediakan sebagai Auth.currentUser pada instance Auth.
useDeviceLanguage() Menetapkan bahasa saat ini ke preferensi browser/perangkat default.

Auth.app

FirebaseApp yang terkait dengan instance layanan Auth.

Tanda Tangan:

readonly app: FirebaseApp;

Auth.config

Config yang 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/ditulis. Jika ditetapkan ke null, setelan bahasa Firebase Console default akan diterapkan. Kode bahasa akan disebarkan ke template tindakan email (reset sandi, verifikasi email, dan pencabutan 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;

Auth.name

Nama aplikasi yang terkait dengan instance layanan Auth.

Tanda Tangan:

readonly name: string;

Auth.settings

Setelan instance Auth.

Atribut 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/ditulis. Jika Anda menetapkan ID tenant 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()

mengembalikan promise yang langsung di-resolve saat status autentikasi awal telah diselesaikan. Setelah promise di-resolve, pengguna saat ini mungkin adalah pengguna yang valid atau null jika pengguna logout.

Tanda Tangan:

authStateReady(): Promise<void>;

Hasil:

Promise<void>

Auth.beforeAuthStateChanged()

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 (user: User | null) => void | Promise<void> dipicu sebelum nilai pengguna baru ditetapkan. Jika ini dilempar, pengguna tidak akan dapat disetel.
onAbort () => {i>void<i} yang dipicu jika callback beforeAuthStateChanged() berikutnya ditampilkan, sehingga Anda dapat mengurungkan efek samping.

Hasil:

Berhenti berlangganan

Auth.onAuthStateChanged()

Menambahkan observer untuk perubahan pada status login pengguna.

Untuk mempertahankan perilaku lama, lihat Auth.onIdTokenChanged().

Tanda Tangan:

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

Parameter

Parameter Jenis Deskripsi
nextOrObserver NextOrObserver<User | null> yang dipicu saat terjadi perubahan.
error ErrorFn Tidak digunakan lagi. Callback ini tidak pernah dipicu. Error saat login/logout dapat ditemukan di promise yang ditampilkan dari fungsi login/logout.
selesai CompleteFn Tidak digunakan lagi. Callback ini tidak pernah dipicu.

Hasil:

Berhenti berlangganan

Auth.onIdTokenChanged()

Menambahkan observer untuk perubahan pada token ID pengguna yang login.

Peristiwa ini termasuk peristiwa login, logout, dan refresh token.

Tanda Tangan:

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

Parameter

Parameter Jenis Deskripsi
nextOrObserver NextOrObserver<User | null> yang dipicu saat terjadi perubahan.
error ErrorFn Tidak digunakan lagi. Callback ini tidak pernah dipicu. Error saat login/logout dapat ditemukan di promise yang ditampilkan dari fungsi login/logout.
selesai CompleteFn Tidak digunakan lagi. Callback ini tidak pernah dipicu.

Hasil:

Berhenti berlangganan

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 login untuk menentukan apakah sesi mereka harus diingat atau tidak. Hal ini juga mempermudah Anda 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 Persistence yang akan digunakan.

Hasil:

Promise<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:

Promise<void>

Auth.updateCurrentUser()

Secara asinkron menetapkan pengguna yang disediakan sebagai Auth.currentUser pada instance Auth.

Salinan instance baru dari pengguna yang diberikan akan dibuat dan ditetapkan sebagai currentUser.

Tindakan ini akan memicu pemroses Auth.onAuthStateChanged() dan Auth.onIdTokenChanged() seperti metode login lainnya.

Operasi akan gagal dengan error jika pengguna yang akan diperbarui adalah anggota project Firebase lain.

Tanda Tangan:

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

Parameter

Parameter Jenis Deskripsi
pengguna Pengguna | null Pengguna baru.

Hasil:

Promise<void>

Auth.useDeviceLanguage()

Menetapkan bahasa saat ini ke preferensi browser/perangkat default.

Tanda Tangan:

useDeviceLanguage(): void;

Hasil:

void