Menampilkan domain kustom selama login

Dokumen ini menunjukkan cara menyesuaikan pengendali autentikasi Identity Platform agar pengguna dapat melihat domain Anda saat login.

Memahami pengendali autentikasi default

Saat Anda mengaktifkan Identity Platform untuk project, subdomain unik yang didukung oleh Firebase Hosting akan dibuat secara otomatis. Domain mengambil bentuk https://[PROJECT-ID].firebaseapp.com. Secara default, Identity Platform menggunakan domain ini untuk menangani semua pengalihan login OAuth, OIDC, dan SAML.

Penggunaan domain default memiliki beberapa manfaat:

  • Penyiapan yang lebih mudah

  • Menggunakan beberapa domain dengan penyedia gabungan yang sama

  • Berbagi satu URL callback di berbagai layanan dan domain

  • Berfungsi dengan penyedia yang hanya mendukung satu URL callback per aplikasi

Kelemahan dari pengendali default adalah pengguna akan melihat URL https://[PROJECT-ID].firebaseapp.com secara singkat saat login.

Menyesuaikan pengendali autentikasi

Untuk mengganti pengendali default dan menyediakannya sendiri:

  1. Hubungkan project Anda ke domain kustom. Anda harus menyelesaikan langkah-langkah ini menggunakan Firebase Console. Penggunaan Google Cloud CLI atau Google Cloud Console tidak didukung.

  2. Buka halaman Identity Provider di Google Cloud Console, lalu pilih penyedia SAML. Buka halaman Penyedia Identitas

  3. Tambahkan domain kustom ke daftar Authorized Domains.

  4. Perbarui Callback URL dengan Penyedia Identitas Anda untuk menggunakan domain kustom, bukan domain default. Misalnya, ubah https://myproject.firebaseapp.com/__/auth/handler menjadi https://auth.mycustomdomain.com/__/auth/handler.

  5. Klik Save.

Mengupdate konfigurasi Client SDK Anda

Web

Biasanya, Anda dapat menyalin kode inisialisasi untuk Client SDK dari Google Cloud Console. Jika menyesuaikan pengendali autentikasi, Anda harus memperbarui kolom authDomain ke domain kustom Anda:

Web versi 9

import { initializeApp } from "firebase/app";

const firebaseConfig = {
  apiKey: "...",
  // By default, authDomain is '[YOUR_APP].firebaseapp.com'.
  // You may replace it with a custom domain.
  authDomain: '[YOUR_CUSTOM_DOMAIN]'
};
const firebaseApp = initializeApp(firebaseConfig);

Web versi 8

firebase.initializeApp({
  apiKey: '...',
  // By default, authDomain is '[YOUR_APP].firebaseapp.com'.
  // You may replace it with a custom domain.
  authDomain: '[YOUR_CUSTOM_DOMAIN]'
});

Android dan iOS

Untuk menyesuaikan pengendali autentikasi, gunakan kode berikut:

Java

FirebaseAuth.getInstance().setCustomAuthDomain("[YOUR_CUSTOM_DOMAIN]");

Kotlin+KTX

Firebase.auth.setCustomAuthDomain("[YOUR_CUSTOM_DOMAIN]")

Swift

let auth = Auth.auth()
auth.customAuthDomain = "[YOUR_CUSTOM_DOMAIN]"

Objective-C

FIRAuth *auth = [FIRAuth auth];
auth.customAuthDomain("[YOUR_CUSTOM_DOMAIN]");