Pengantar Admin Auth API

Identity Platform di-build pada infrastruktur yang ditingkatkan dan mendukung autentikasi pengguna ke aplikasi dan layanan Anda. Anda dapat menggunakan Firebase Admin SDK untuk mengintegrasikan server Anda sendiri dengan Identity Platform dan mengelola token autentikasi pengguna atau pengguna Anda. Ada sejumlah alasan Anda perlu melakukan hal ini:

Pengelolaan Pengguna

Bukan hal yang praktis jika Anda harus mengunjungi Google Cloud Console (konsol Google Cloud) untuk mengelola pengguna Identity Platform. API pengelolaan pengguna admin menyediakan akses terprogram untuk pengguna yang sama tersebut. Selain itu, Anda juga dapat melakukan hal-hal yang tidak dapat dilakukan oleh Konsol Google Cloud, seperti mengambil data lengkap pengguna dan mengubah sandi, alamat email, atau nomor telepon pengguna.

Autentikasi Kustom

Anda dapat mengintegrasikan sistem pengguna eksternal dengan Identity Platform. Misalnya, Anda mungkin sudah memiliki database pengguna yang sudah ada atau ingin mengintegrasikan dengan penyedia identitas pihak ketiga yang tidak didukung Identity Platform secara default.

Untuk melakukannya, Anda dapat membuat token khusus dengan klaim arbitrer yang mengidentifikasi pengguna. Token kustom ini kemudian dapat digunakan untuk login ke layanan Identity Platform di aplikasi klien dan mengambil identitas yang dijelaskan oleh klaim token. Setelah itu, identitas ini akan digunakan saat mengakses layanan Identity Platform lainnya, seperti Cloud Storage.

Verifikasi Identitas

Identity Platform terutama digunakan untuk mengidentifikasi pengguna aplikasi Anda agar dapat membatasi akses ke layanan lain, seperti Cloud Storage. Anda juga dapat menggunakan layanan tersebut untuk mengidentifikasi pengguna ini di server Anda sendiri. Hal ini memungkinkan Anda menjalankan logika sisi server dengan aman atas nama pengguna yang telah login dengan Identity Platform.

Untuk melakukannya, Anda dapat mengambil token ID dari aplikasi klien yang login dengan Identity Platform dan menyertakan token tersebut dalam permintaan ke server Anda. Server Anda kemudian memeriksa token ID dan mengekstrak klaim yang mengidentifikasi pengguna (termasuk uid mereka, penyedia identitas yang mereka gunakan untuk login, dsb.). Informasi identitas ini kemudian dapat digunakan server Anda untuk melakukan tindakan atas nama pengguna.

Firebase Admin SDK menyediakan metode untuk menyelesaikan tugas autentikasi di atas dengan mengizinkan Anda untuk mengelola pengguna, menghasilkan token kustom, dan memverifikasi token ID.

Klaim Pengguna Kustom

Dalam beberapa kasus, Anda mungkin ingin menerapkan kontrol akses yang sangat terperinci untuk pengguna yang sudah login dengan salah satu penyedia autentikasi Identity Platform yang didukung, seperti Email/Sandi, Google, Facebook, telepon, dll. Kemampuan ini dapat dicapai dengan menggabungkan klaim pengguna kustom dan aturan keamanan aplikasi. Misalnya, pengguna yang login dengan penyedia Email dan Sandi Identity Platform dapat memiliki kontrol akses yang ditentukan menggunakan klaim kustom.

Pengelolaan pengguna

Firebase Admin SDK menyediakan API untuk mengelola pengguna Identity Platform dengan hak istimewa yang ditingkatkan. Dengan API pengelolaan pengguna admin, Anda dapat mengambil, membuat, memperbarui, dan menghapus pengguna dengan program tanpa memerlukan kredensial pengguna yang sudah ada dan tanpa mengkhawatirkan pembatasan kapasitas di sisi klien.

Kelola pengguna

Pembuatan token kustom

Tujuan utama dari pembuatan token kustom adalah untuk mengizinkan pengguna melakukan autentikasi saat dihadapkan dengan mekanisme autentikasi eksternal atau yang lama. ID ini dapat berupa akun yang Anda kontrol, seperti server LDAP, atau penyedia OAuth pihak ketiga yang tidak didukung oleh Identity Platform, seperti Instagram atau LinkedIn.

Firebase Admin SDK memiliki metode bawaan untuk membuat token kustom. Anda juga dapat membuat token khusus dengan program dalam bahasa apa pun menggunakan library JWT pihak ketiga.

Server Anda harus membuat token kustom dengan sebuah ID unik (uid) dan meneruskan token tersebut ke aplikasi klien yang akan menggunakannya untuk login ke Identity Platform. Baca Membuat token kustom untuk melihat contoh kode dan detail lainnya tentang proses pembuatan token kustom.

Verifikasi token ID

Jika aplikasi klien Identity Platform berkomunikasi dengan server backend, Anda mungkin perlu mengidentifikasi pengguna yang saat ini sudah login di server Anda agar dapat menjalankan logika sisi server atas nama mereka. Anda dapat melakukannya dengan aman menggunakan token ID, yang dibuat oleh Identity Platform saat pengguna login ke aplikasi Identity Platform. Token ID sesuai dengan spesifikasi OpenID Connect dan berisi data untuk mengidentifikasi pengguna, serta beberapa profil lain dan informasi terkait autentikasi. Anda dapat mengirim, melakukan verifikasi, dan memeriksa token tersebut dari backend Anda sendiri. Dengan begitu, Anda dapat secara aman mengidentifikasi pengguna yang saat ini login dan memberinya izin ke resource backend Anda sendiri.

Firebase Admin SDK memiliki metode bawaan untuk memverifikasi token ID. Anda juga dapat melakukan verifikasi token ID dengan program dalam bahasa apa pun menggunakan library JWT pihak ketiga. Baca Memverifikasi token ID untuk mengetahui informasi dan contoh kode lebih lanjut tentang proses verifikasi token ID.

Klaim pengguna kustom

Firebase Admin SDK dapat Anda gunakan untuk menetapkan atribut khusus pada akun pengguna. Dengan klaim pengguna kustom, Anda dapat memberi pengguna berbagai tingkat akses (peran), yang kemudian diterapkan dalam aturan keamanan aplikasi.

Setelah dimodifikasi pada pengguna melalui Firebase Admin SDK, klaim kustom akan diterapkan pada semua pengguna terautentikasi di sisi klien melalui token ID mereka. Token ID merupakan mekanisme tepercaya untuk mengirimkan klaim kustom ini, dan semua akses terautentikasi harus memvalidasi token ID sebelum memproses permintaan terkait.

Kontrol Akses dengan Klaim Kustom