Menampilkan domain kustom selama login

Dokumen ini menunjukkan cara menyesuaikan pengendali autentikasi Identity Platform agar 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 otomatis dibuat. Domain memiliki bentuk 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:

  • Penyiapan yang lebih mudah

  • Menggunakan beberapa domain dengan penyedia gabungan yang sama

  • Membagikan satu URL callback 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 dan menyediakan pengendali Anda sendiri:

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

  2. Buka halaman Identity Providers di konsol Google Cloud, lalu pilih penyedia SAML Anda. Buka halaman Penyedia Identitas

  3. Tambahkan domain kustom ke daftar Domain yang Diotorisasi.

  4. Perbarui URL Callback 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 Simpan.

Memperbarui konfigurasi SDK klien

Web

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

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]");