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:

  1. Conecta tu proyecto a un dominio personalizado. Deberás completar estos pasos en Firebase console, ya que no se admite el uso de Google Cloud CLI ni la consola de Google Cloud.

  2. 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

  3. Agrega el dominio personalizado a la lista de Dominios autorizados.

  4. 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 a https://auth.mycustomdomain.com/__/auth/handler.

  5. Haz clic en Guardar.

Actualiza la configuración del SDK de cliente

Web

Por lo general, puedes copiar el código de inicialización para el SDK 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]'
});

iOS y Android

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]");