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:
Na consola do Firebase, associe o projeto a um domínio personalizado.
Na Google Cloud consola, aceda à página Identity Platform > Fornecedores de identidade.
Aceda a Fornecedores de identidadeSelecione o seu fornecedor de identidade.
No painel lateral Definições do projeto, clique em Adicionar domínio e adicione o seu domínio personalizado.
Clique em Guardar.
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/handlerparahttps://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]");