Mostrar un dominio personalizado durante el acceso
En este documento se muestra cómo personalizar el controlador de autenticación de Identity Platform para que los usuarios vean tu dominio cuando accedan.
Información sobre el controlador de autenticación predeterminado
Cuando habilitas Identity Platform en tu proyecto, se crea automáticamente un subdominio único con la tecnología de Firebase Hosting.
El dominio tiene el formato https://[PROJECT-ID].firebaseapp.com
.
De forma predeterminada, Identity Platform usa este dominio para controlar todos los redireccionamientos de acceso de OAuth, OIDC y SAML.
Usar el dominio predeterminado tiene varios beneficios:
Configuración más sencilla
Usa varios dominios con los mismos proveedores federados
Compartir una única URL de devolución de llamada entre diferentes servicios y dominios
Funciona con proveedores que solo admiten una URL de devolución de llamada por app.
La desventaja del controlador predeterminado es que los usuarios vean brevemente la URL https://[PROJECT-ID].firebaseapp.com
cuando accedan.
Personaliza el controlador de autenticación
Para anular el controlador predeterminado y proporcionar tu propio controlador, haz lo siguiente:
Conecta tu proyecto a un dominio personalizado. Deberás completar estos pasos en Firebase console. mediante ni Google Cloud CLI ni la consola de Google Cloud no es compatible.
Ve a la página Proveedores de identidad en la consola de Google Cloud y selecciona tu proveedor de SAML. Ir a la página Proveedores de identidad
Agrega el dominio personalizado a la lista de Dominios autorizados.
Actualiza la URL de devolución de llamada con tu proveedor de identidad para usar tu dominio personalizado en lugar del dominio predeterminado. Por ejemplo, cambia
https://myproject.firebaseapp.com/__/auth/handler
ahttps://auth.mycustomdomain.com/__/auth/handler
.Haga clic en Save.
Actualiza la configuración del SDK de cliente
Web
Por lo general, puedes copiar el código de inicialización del SDK de cliente desde la consola de Google Cloud. Si personalizas el controlador de autenticación, deberás actualizar el campo authDomain
a tu dominio personalizado:
Web versión 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ón 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 y iOS
Para personalizar el controlador de autenticación, usa el siguiente código:
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]");