Menampilkan domain kustom selama login

Dokumen ini menunjukkan cara menyesuaikan pengendali autentikasi Identity Platform sehingga pengguna 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. Domainnya berbentuk https://[PROJECT-ID].firebaseapp.com. Secara default, Identity Platform menggunakan domain ini untuk menangani semua pengalihan login OAuth, OIDC, dan SAML.

Menggunakan domain default memiliki beberapa manfaat:

  • Menggunakan beberapa domain dengan penyedia gabungan yang sama

  • Membagikan satu URL panggilan balik di berbagai layanan dan domain

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

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

Menyesuaikan pengendali autentikasi

Untuk mengganti pengendali default dengan pengendali kustom, lakukan hal berikut:

  1. Dari konsol Firebase, hubungkan project Anda ke domain kustom.

  2. Di konsol Google Cloud , buka halaman Identity Platform > Penyedia identitas.
    Buka Penyedia identitas

  3. Pilih penyedia identitas Anda.

  4. Di panel samping Project settings, klik Add Domain, lalu tambahkan domain kustom Anda.

  5. Klik Simpan.

  6. Di konfigurasi aplikasi, perbarui URL callback dengan domain kustom, bukan domain default. Misalnya, ubah https://myproject.firebaseapp.com/__/auth/handler menjadi https://auth.mycustomdomain.com/__/auth/handler.

Memperbarui konfigurasi SDK klien

Web

Anda dapat menyalin kode inisialisasi untuk SDK klien dari konsolGoogle Cloud . 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 handler 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]");