在登入時顯示自訂網域
本文說明如何自訂 Identity Platform 驗證處理常式,讓使用者登入時看到您的網域。
瞭解預設驗證處理常式
為專案啟用 Identity Platform 時,系統會自動建立採用 Firebase 託管技術的專屬子網域。網域格式為 https://[PROJECT-ID].firebaseapp.com
。
根據預設,Identity Platform 會使用這個網域處理所有 OAuth、OIDC 和 SAML 登入重新導向。
使用預設網域有幾項優點:
使用多個網域和相同的聯合供應商
在不同服務和網域之間共用單一回呼網址
適用於每個應用程式僅支援一個回呼網址的供應商
預設處理常式的缺點是,使用者登入時會短暫看到 https://[PROJECT-ID].firebaseapp.com
網址。
自訂驗證處理常式
如要使用自訂處理常式覆寫預設處理常式,請執行下列步驟:
在 Firebase 主控台中,將專案連結至自訂網域。
在 Google Cloud 控制台中,前往「Identity Platform」>「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]");