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:

  • 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 verán brevemente la URL https://[PROJECT-ID].firebaseapp.com cuando accedan.

Personaliza el controlador de autenticación

Para anular el controlador predeterminado con tu controlador personalizado, haz lo siguiente:

  1. En Firebase console, conecta tu proyecto a un dominio personalizado.

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

  3. Selecciona tu proveedor de identidad.

  4. En el panel lateral Configuración del proyecto, haz clic en Agregar dominio y agrega tu dominio personalizado.

  5. Haz clic en Guardar.

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

Actualiza la configuración del SDK de cliente

Web

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