From 10b89ff00b10e3cf3784216795eb05cd1549a690 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Fri, 10 Nov 2023 16:13:24 -0500 Subject: [PATCH] update email address in AspNetUsers table when user email is modified --- Oqtane.Server/Managers/UserManager.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Oqtane.Server/Managers/UserManager.cs b/Oqtane.Server/Managers/UserManager.cs index eda57b74..dc9c596d 100644 --- a/Oqtane.Server/Managers/UserManager.cs +++ b/Oqtane.Server/Managers/UserManager.cs @@ -184,7 +184,6 @@ namespace Oqtane.Managers IdentityUser identityuser = await _identityUserManager.FindByNameAsync(user.Username); if (identityuser != null) { - identityuser.Email = user.Email; var valid = true; if (!string.IsNullOrEmpty(user.Password)) { @@ -203,6 +202,13 @@ namespace Oqtane.Managers await _identityUserManager.UpdateAsync(identityuser); // requires password to be provided } + if (user.Email != identityuser.Email) + { + await _identityUserManager.SetEmailAsync(identityuser, user.Email); + var emailConfirmationToken = await _identityUserManager.GenerateEmailConfirmationTokenAsync(identityuser); + await _identityUserManager.ConfirmEmailAsync(identityuser, emailConfirmationToken); + } + user = _users.UpdateUser(user); _syncManager.AddSyncEvent(_tenantManager.GetAlias().TenantId, EntityNames.User, user.UserId, SyncEventActions.Update); _syncManager.AddSyncEvent(_tenantManager.GetAlias().TenantId, EntityNames.User, user.UserId, SyncEventActions.Reload);