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:

  • 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 autenticación

Para sustituir el controlador predeterminado por el tuyo, haz lo siguiente:

  1. En la consola de Firebase, conecta tu proyecto a un dominio personalizado.

  2. En la Google Cloud consola, ve a la página Identity Platform > Proveedores de identidades.
    Ve a Proveedores de identidades

  3. Selecciona tu proveedor de identidades.

  4. En el panel lateral Configuración del proyecto, haz clic en Añadir dominio y añade tu dominio personalizado.

  5. Haz clic en Guardar.

  6. En la configuración de tu aplicación, actualiza la URL de retrollamada con tu dominio personalizado en lugar del dominio predeterminado. Por ejemplo, cambia https://myproject.firebaseapp.com/__/auth/handler por https://auth.mycustomdomain.com/__/auth/handler.

Actualizar la configuración del SDK del cliente

Web

Puedes copiar el código de inicialización del SDK de cliente desde laGoogle 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]");