update email address in AspNetUsers table when user email is modified

This commit is contained in:
sbwalker 2023-11-10 16:13:24 -05:00
parent 9ddd88b5d0
commit 10b89ff00b

View File

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