Aller au contenu principal

Authentification par email uniquement

Lagoon peut identifier les utilisateurs uniquement par leur adresse email. Dans ce mode, le workflow de connexion recherche l'utilisateur par Email au lieu de UserName.

Étapes de configuration​

Projet Model​

Dans le projet Model :

  1. modifier ApplicationDbContext.cs ;
  2. supprimer l'appel à SetUserNameRequired(builder); dans OnModelCreating ;
  3. modifier le modèle ApplicationUser en exposant les propriétés UserName et NormalizedUserName pour qu'elles soient alimentées avec la valeur de Email.
Migration obligatoire

Après ces changements de modèle, générez une migration EF Core puis appliquez-la selon la procédure de votre application.

Projet Server​

Dans le projet Server, configurez le contexte d'authentification dans Main.cs.

Main.cs
protected override void OnConfigureAuthenticationContext(AuthenticationContext context)
{
// Identifie l'utilisateur avec la propriété Email.
context.IsEmailLogin = true;
}

Effet de IsEmailLogin​

Lorsque IsEmailLogin vaut true, Lagoon résout l'utilisateur avec l'adresse email portée par le contexte d'authentification.

ValeurRecherche utilisée
trueRecherche par Email.
falseRecherche par UserName.
Valeur par défaut

Le contexte d'authentification initialise IsEmailLogin à true pour une identité SSO et à false pour les autres modes. Une application peut surcharger cette valeur dans OnConfigureAuthenticationContext.