在登入時顯示自訂網域
本文將說明如何自訂 Identity Platform 驗證處理常式,讓使用者在登入時看到您的網域。
瞭解預設驗證處理常式
為專案啟用 Identity Platform 後,系統會自動建立由 Firebase 託管服務提供支援的專屬子網域。網域的格式為 https://[PROJECT-ID].firebaseapp.com
。根據預設,Identity Platform 會使用這個網域處理所有 OAuth、OIDC 和 SAML 登入重新導向。
使用預設網域有幾項優點:
設定更簡單
使用相同聯合供應器的多個網域
在不同服務和網域之間共用單一回呼網址
適用於每個應用程式只支援一個回呼網址的供應商
預設處理程序的缺點是,使用者在登入時會短暫看到 https://[PROJECT-ID].firebaseapp.com
網址。
自訂驗證處理常式
如要覆寫預設處理常式並提供自己的處理常式,請按照下列步驟操作:
將專案連結至自訂網域。您必須使用 Firebase 控制台完成這些步驟,不支援使用 Google Cloud CLI 或 Google Cloud 控制台。
前往 Google Cloud 控制台的「Identity Providers」頁面,然後選取 SAML 供應商。前往「Identity Providers」(識別資訊提供者) 頁面
將自訂網域新增至「已授權的網域」清單。
請透過您的身分識別資訊提供者更新回呼網址,以便使用自訂網域,而非預設網域。例如,將
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]");