Mostrar un dominio personalizado durante el inicio de sesión

En este documento se explica cómo personalizar el controlador de autenticación de Identity Platform para que los usuarios vean tu dominio al iniciar sesión.

Acerca del 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 gestionar todas las redirecciones de inicio de sesión de OAuth, OIDC y SAML.

Usar el dominio predeterminado tiene varias ventajas:

  • Configuración más sencilla

  • Usar varios dominios con los mismos proveedores federados

  • Compartir una única URL de retrollamada en diferentes servicios y dominios

  • Funciona con proveedores que solo admiten una URL de retrollamada por aplicación

El inconveniente del controlador predeterminado es que los usuarios verán brevemente la URL https://[PROJECT-ID].firebaseapp.com al iniciar sesión.

Personalizar el controlador de autenticaciones

Para anular el controlador predeterminado y proporcionar el tuyo, sigue estos pasos:

  1. Conecta tu proyecto a un dominio personalizado. Para completar estos pasos, debes usar la consola de Firebase. No se admite el uso de la CLI de Google Cloud ni de la consola de Google Cloud .

  2. Ve a la página Proveedores de identidades en la Google Cloud consola y selecciona tu proveedor de SAML. Ve a la página Proveedores de identidades.

  3. Añade el dominio personalizado a la lista de Dominios autorizados.

  4. Actualiza la URL de retrollamada con tu proveedor de identidades para usar tu dominio personalizado en lugar del dominio predeterminado. Por ejemplo, cambia https://myproject.firebaseapp.com/__/auth/handler por https://auth.mycustomdomain.com/__/auth/handler.

  5. Haz clic en Guardar.

Actualizar la configuración del SDK del cliente

Web

Normalmente, puedes copiar el código de inicialización del SDK de cliente desde la Google Cloud consola. Si personalizas el controlador de autenticación, tendrás que actualizar el campo authDomain con tu dominio personalizado:

Versión web 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);

Versión web 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 e 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]");