获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Pengantar Admin Auth API

Firebase Admin SDK memungkinkan Anda mengintegrasikan server Anda sendiri dengan Firebase Authentication. Anda dapat menggunakan Firebase Admin SDK untuk mengelola pengguna Anda atau untuk mengelola token autentikasi. Ada beberapa alasan mengapa Anda ingin melakukan ini:

manajemen pengguna

Tidak selalu nyaman untuk mengunjungi konsol Firebase untuk mengelola pengguna Firebase Anda. API Manajemen Pengguna Admin menyediakan akses terprogram ke pengguna yang sama. Bahkan memungkinkan Anda melakukan hal-hal yang tidak dapat dilakukan konsol Firebase, seperti mengambil data lengkap pengguna dan mengubah kata sandi, alamat email, atau nomor telepon pengguna.

Otentikasi Kustom

Anda dapat mengintegrasikan sistem pengguna eksternal dengan Firebase. Misalnya, Anda mungkin sudah memiliki database pengguna yang sudah ada sebelumnya atau Anda mungkin ingin berintegrasi dengan penyedia identitas pihak ketiga yang tidak didukung oleh Firebase Authentication.

Untuk melakukan ini, Anda dapat membuat token khusus dengan klaim arbitrer yang mengidentifikasi pengguna. Token khusus ini kemudian dapat digunakan untuk masuk ke layanan Firebase Authentication pada aplikasi klien dan mengasumsikan identitas yang dijelaskan oleh klaim token. Identitas ini kemudian akan digunakan saat mengakses layanan Firebase lainnya, seperti Cloud Storage.

Verifikasi Identitas

Otentikasi Firebase terutama digunakan untuk mengidentifikasi pengguna aplikasi Anda untuk membatasi akses ke layanan lain, seperti penyimpanan cloud. Anda juga dapat menggunakan layanan untuk mengidentifikasi pengguna ini di server Anda sendiri. Ini memungkinkan Anda dengan aman melakukan logika sisi server atas nama pengguna yang telah masuk dengan Otentikasi Firebase.

Untuk melakukannya, Anda dapat mengambil token ID dari aplikasi klien yang masuk dengan Firebase Authentication dan menyertakan token dalam permintaan ke server Anda. Server Anda kemudian memverifikasi token ID dan mengekstrak klaim yang mengidentifikasi pengguna (termasuk uid , penyedia identitas yang digunakan untuk login, dll.). Informasi identitas ini kemudian dapat digunakan oleh server Anda untuk melakukan tindakan atas nama pengguna.

Firebase Admin SDK menyediakan metode untuk menyelesaikan tugas autentikasi di atas dengan memungkinkan Anda mengelola pengguna, membuat token khusus, dan memverifikasi token ID.

Klaim Pengguna Khusus

Dalam beberapa kasus, Anda mungkin ingin menerapkan kontrol akses mendetail untuk pengguna yang sudah masuk dengan salah satu penyedia autentikasi Firebase yang didukung seperti Email/Sandi, Google, Facebook, telepon, dll. Kombinasi klaim pengguna khusus dan keamanan aplikasi aturan menyediakan kemampuan ini. Misalnya, pengguna yang masuk dengan penyedia Email dan Sandi Firebase Authentication dapat memiliki kontrol akses yang ditentukan menggunakan klaim khusus.

Manajemen pengguna

Firebase Admin SDK menyediakan API untuk mengelola pengguna Firebase Anda dengan hak istimewa yang lebih tinggi. API manajemen pengguna admin memberi Anda kemampuan untuk mengambil, membuat, memperbarui, dan menghapus pengguna secara terprogram tanpa memerlukan kredensial pengguna yang ada dan tanpa khawatir tentang pembatasan tingkat sisi klien.

Kelola Pengguna

Pembuatan token khusus

Penggunaan utama untuk membuat token khusus adalah untuk memungkinkan pengguna untuk mengautentikasi terhadap mekanisme otentikasi eksternal atau warisan. Ini bisa menjadi salah satu yang Anda kontrol, seperti server LDAP Anda, atau penyedia OAuth pihak ketiga yang tidak didukung oleh Firebase, seperti Instagram atau LinkedIn.

Firebase Admin SDK memiliki metode bawaan untuk membuat token khusus. Anda juga dapat membuat token khusus secara terprogram dalam bahasa apa pun menggunakan perpustakaan JWT pihak ketiga.

Server Anda harus membuat token khusus dengan pengenal unik ( uid ) dan meneruskan token itu ke aplikasi klien, yang akan menggunakannya untuk masuk ke Firebase. Lihat Membuat token khusus untuk contoh kode dan detail selengkapnya tentang proses pembuatan token khusus.

Buat token khusus

verifikasi token ID

Jika aplikasi klien Firebase Anda berkomunikasi dengan server backend, Anda mungkin perlu mengidentifikasi pengguna yang saat ini masuk ke server Anda sehingga Anda dapat menjalankan logika sisi server atas nama mereka. Anda dapat melakukannya dengan aman menggunakan token ID, yang dibuat oleh Firebase saat pengguna masuk ke aplikasi Firebase. Token ID sesuai dengan spesifikasi OpenID Connect dan berisi data untuk mengidentifikasi pengguna, serta beberapa profil dan informasi terkait otentikasi lainnya. Anda dapat mengirim, memverifikasi, dan memeriksa token ini dari backend Anda sendiri. Ini memungkinkan Anda mengidentifikasi pengguna yang saat ini masuk dengan aman dan mengotorisasi mereka ke sumber daya backend Anda sendiri.

Firebase Admin SDK memiliki metode bawaan untuk memverifikasi token ID. Anda juga dapat memverifikasi token ID secara terprogram dalam bahasa apa pun menggunakan perpustakaan JWT pihak ketiga. Lihat Verifikasi token ID untuk detail lebih lanjut dan contoh kode tentang proses verifikasi token ID.

Verifikasi ID Token.

Pengguna Kustom mengklaim

Firebase Admin SDK memungkinkan Anda menyetel atribut khusus pada akun pengguna. Dengan klaim pengguna khusus, Anda dapat memberikan pengguna tingkat akses yang berbeda (peran), yang kemudian ditegakkan dalam aturan keamanan aplikasi.

Setelah klaim khusus diubah pada pengguna melalui Firebase Admin SDK, klaim tersebut disebarkan ke pengguna yang diautentikasi di sisi klien melalui token ID mereka. Token ID adalah mekanisme tepercaya untuk mengirimkan klaim khusus ini, dan semua akses yang diautentikasi harus memvalidasi token ID sebelum memproses permintaan terkait.

Kontrol Akses dengan Klaim Kustom