Apresentar um domínio personalizado durante o início de sessão

Este documento mostra como personalizar o controlador de autenticação da Identity Platform para que os utilizadores vejam o seu domínio quando iniciarem sessão.

Compreenda o controlador de autenticação predefinido

Quando ativa a Identity Platform para o seu projeto, é criado automaticamente um subdomínio único com tecnologia do Firebase Hosting. O domínio tem o formato https://[PROJECT-ID].firebaseapp.com. Por predefinição, a Identity Platform usa este domínio para processar todos os redirecionamentos de início de sessão OAuth, OIDC e SAML.

A utilização do domínio predefinido tem várias vantagens:

  • Use vários domínios com os mesmos fornecedores federados

  • Partilhe um único URL de retorno em diferentes serviços e domínios

  • Funciona com fornecedores que apenas suportam um URL de retorno por app

A desvantagem do controlador predefinido é que os utilizadores veem brevemente o URL https://[PROJECT-ID].firebaseapp.com quando iniciam sessão.

Personalize o controlador de autenticação

Para substituir o controlador predefinido pelo seu controlador personalizado, faça o seguinte:

  1. Na consola do Firebase, associe o projeto a um domínio personalizado.

  2. Na Google Cloud consola, aceda à página Identity Platform > Fornecedores de identidade.
    Aceda a Fornecedores de identidade

  3. Selecione o seu fornecedor de identidade.

  4. No painel lateral Definições do projeto, clique em Adicionar domínio e adicione o seu domínio personalizado.

  5. Clique em Guardar.

  6. Na configuração da app, atualize o URL de retorno de chamada com o seu domínio personalizado em vez do domínio predefinido. Por exemplo, altere https://myproject.firebaseapp.com/__/auth/handler para https://auth.mycustomdomain.com/__/auth/handler.

Atualize a configuração do SDK do cliente

Web

Pode copiar o código de inicialização do SDK do cliente a partir da Google Cloud consola. Se personalizar o controlador de autenticação, tem de atualizar o campo authDomain para o seu domínio personalizado:

Versão 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);

Versão 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 o controlador de autenticação, use o seguinte 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]");