Pengantar Admin Auth API
Identity Platform dibuat berdasarkan infrastruktur yang ditingkatkan yang mendukung autentikasi pengguna ke aplikasi dan layanan Anda. Anda dapat menggunakan Firebase Admin SDK untuk mengintegrasikan server Anda sendiri dengan Identity Platform dan mengelola pengguna atau token autentikasi. Ada beberapa alasan mengapa Anda sebaiknya melakukan hal ini:
Pengelolaan Pengguna
Bukan hal yang praktis jika Anda harus selalu mengunjungi konsol Google Cloud (konsol Google Cloud) untuk mengelola pengguna Identity Platform Anda. API pengelolaan pengguna admin menyediakan akses terprogram untuk pengguna yang sama tersebut. Dengan akses terprogram ini, Anda juga dapat melakukan berbagai hal yang tidak dapat dilakukan di konsol Google Cloud, misalnya 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 sebelumnya ada atau ingin mengintegrasikan dengan penyedia identitas pihak ketiga yang tidak didukung oleh Identity Platform secara default.
Untuk melakukannya, Anda dapat membuat token khusus dengan klaim arbitrer yang mengidentifikasi pengguna. Token kustom ini pun kemudian dapat digunakan untuk login ke layanan Identity Platform yang ada di aplikasi klien dan mengambil identitas yang dijelaskan oleh klaim token. Setelah itu, identitas ini akan digunakan saat mengakses layanan Identity Platform lain, seperti Cloud Storage.
Verifikasi Identitas
Identity Platform terutama digunakan untuk mengidentifikasi pengguna aplikasi Anda agar dapat membatasi akses ke layanan lainnya, seperti Cloud Storage. Anda juga dapat menggunakan layanan tersebut untuk mengidentifikasi pengguna ini di server Anda sendiri. Dengan begitu, Anda dapat menjalankan logika di 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 dapat menerapkan kontrol akses yang sangat mendetail untuk pengguna yang sudah login dengan salah satu penyedia autentikasi Identity Platform yang didukung seperti Email/Sandi, Google, Facebook, ponsel, dll. Kemampuan ini dapat diterapkan melalui gabungan 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 Anda 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 penggunaPembuatan token kustom
Tujuan utama dari pembuatan token kustom adalah untuk mengizinkan pengguna melakukan autentikasi saat dihadapkan dengan mekanisme autentikasi eksternal atau yang lama. Ini bisa saja mekanisme autentikasi yang Anda kontrol, misalnya seperti server LDAP Anda atau penyedia OAuth pihak ketiga yang tidak didukung oleh Identity Platform secara default, 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 Anda berkomunikasi dengan server backend, Anda mungkin harus mengidentifikasi pengguna yang saat ini login di server Anda agar dapat menjalankan logika sisi server atas nama mereka. Anda dapat melakukan ini secara aman menggunakan token ID yang dibuat Identity Platform saat pengguna login ke aplikasi Identity Platform. Token ID sesuai dengan spesifikasi OpenID Connect dan berisi data untuk mengidentifikasi pengguna, serta beberapa informasi terkait autentikasi dan profil lainnya. 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