在登入時顯示自訂網域

本文說明如何自訂 Identity Platform 驗證處理常式,讓使用者登入時看到您的網域。

瞭解預設驗證處理常式

為專案啟用 Identity Platform 時,系統會自動建立採用 Firebase 託管技術的專屬子網域。網域格式為 https://[PROJECT-ID].firebaseapp.com。 根據預設,Identity Platform 會使用這個網域處理所有 OAuth、OIDC 和 SAML 登入重新導向。

使用預設網域有幾項優點:

  • 使用多個網域和相同的聯合供應商

  • 在不同服務和網域之間共用單一回呼網址

  • 適用於每個應用程式僅支援一個回呼網址的供應商

預設處理常式的缺點是,使用者登入時會短暫看到 https://[PROJECT-ID].firebaseapp.com 網址。

自訂驗證處理常式

如要使用自訂處理常式覆寫預設處理常式,請執行下列步驟:

  1. 在 Firebase 主控台中,將專案連結至自訂網域

  2. 在 Google Cloud 控制台中,前往「Identity Platform」>「Identity providers」(身分識別提供者) 頁面。
    前往「識別資訊提供者」

  3. 選取識別資訊提供者。

  4. 在「專案設定」側邊窗格中,按一下「新增網域」,然後新增自訂網域。

  5. 按一下 [儲存]

  6. 在應用程式設定中,將回呼網址更新為自訂網域,而非預設網域。舉例來說,將 https://myproject.firebaseapp.com/__/auth/handler 改為 https://auth.mycustomdomain.com/__/auth/handler

更新用戶端 SDK 設定

網頁

您可以從Google Cloud 控制台複製用戶端 SDK 的初始化程式碼。如果自訂驗證處理常式,您需要將 authDomain 欄位更新為自訂網域:

網頁版 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);

網頁版 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 和 iOS 裝置

如要自訂驗證處理常式,請使用下列程式碼:

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