Afficher un domaine personnalisé lors de la connexion

Ce document explique comment personnaliser le gestionnaire d'authentification Identity Platform afin que les utilisateurs puissent voir votre domaine lorsqu'ils se connectent.

Comprendre le gestionnaire d'authentification par défaut

Lorsque vous activez Identity Platform pour votre projet, un sous-domaine unique fourni par Firebase Hosting est créé automatiquement. Le domaine est au format https://[PROJECT-ID].firebaseapp.com. Par défaut, Identity Platform utilise ce domaine pour gérer toutes les redirections d'authentification OAuth, OIDC et SAML.

L'utilisation du domaine par défaut présente plusieurs avantages :

  • Configuration simplifiée

  • Utiliser plusieurs domaines avec les mêmes fournisseurs fédérés

  • Partager une URL de rappel unique dans plusieurs services et domaines

  • Fonctionne avec les fournisseurs qui n'acceptent qu'une seule URL de rappel par application

L'inconvénient du gestionnaire par défaut est que l'URL https://[PROJECT-ID].firebaseapp.com s'affiche brièvement lorsque les utilisateurs se connectent.

Personnaliser le gestionnaire d'authentification

Pour remplacer le gestionnaire par défaut et fournir le vôtre :

  1. Associez votre projet à un domaine personnalisé. Vous devez effectuer ces étapes dans la console Firebase, à l'aide de la Google Cloud CLI ou de la console Google Cloud.

  2. Accédez à la page Fournisseurs d'identité de la console Google Cloud, puis sélectionnez votre fournisseur SAML. Accéder à la page "Fournisseurs d'identité"

  3. Ajoutez le domaine personnalisé à la liste des Domaines autorisés.

  4. Mettez à jour l'URL de rappel auprès de votre fournisseur d'identité pour utiliser votre domaine personnalisé au lieu du domaine par défaut. Par exemple, remplacez https://myproject.firebaseapp.com/__/auth/handler par https://auth.mycustomdomain.com/__/auth/handler.

  5. Cliquez sur Enregistrer.

Mettre à jour la configuration de votre SDK client

Web

Normalement, vous pouvez copier le code d'initialisation du SDK client depuis la console Google Cloud. Si vous personnalisez le gestionnaire d'authentification, vous devez mettre à jour le champ authDomain en fonction de votre domaine personnalisé :

Version 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);

Version 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 et iOS

Pour personnaliser le gestionnaire d'authentification, utilisez le code suivant:

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