Archived
Private
Public Access
1
0

Fixed login issue when changing Email

This commit is contained in:
2022-12-23 12:24:26 +01:00
parent 0e94ffa3c6
commit 5185181714

View File

@@ -29,8 +29,11 @@ public sealed class UserApi : IUserApi {
public User Login(User login) { public User Login(User login) {
if (string.IsNullOrEmpty(login.Email) || string.IsNullOrEmpty(login.Password)) return null; if (string.IsNullOrEmpty(login.Email) || string.IsNullOrEmpty(login.Password)) return null;
var hash = Hash128(login.Password, login.Email); var user = _context.Users.SingleOrDefault(user => user.Email == login.Email);
return _context.Users.SingleOrDefault(user => user.Email == login.Email && user.Password == hash); if (user == null) return null;
var hash = Hash128(login.Password, user.UserId);
if (user.Password != hash) return null;
return user;
} }
public User Register(User register) { public User Register(User register) {
@@ -51,9 +54,9 @@ public sealed class UserApi : IUserApi {
UserId = Guid.NewGuid().ToString(), UserId = Guid.NewGuid().ToString(),
Email = register.Email, Email = register.Email,
Username = register.Username, Username = register.Username,
Password = Hash128(register.Password, register.Email),
MaxProjects = _options.MaxProjects MaxProjects = _options.MaxProjects
}; };
user.Password = Hash128(register.Password, user.UserId);
_context.Users.Add(user); _context.Users.Add(user);
_context.SaveChanges(); _context.SaveChanges();
@@ -82,7 +85,7 @@ public sealed class UserApi : IUserApi {
if (user == null) return false; if (user == null) return false;
if (!string.IsNullOrEmpty(update.Email)) user.Email = update.Email; if (!string.IsNullOrEmpty(update.Email)) user.Email = update.Email;
if (!string.IsNullOrEmpty(update.Username)) user.Username = update.Username; if (!string.IsNullOrEmpty(update.Username)) user.Username = update.Username;
if (!string.IsNullOrEmpty(update.Password)) user.Password = Hash128(update.Password, user.Email); if (!string.IsNullOrEmpty(update.Password)) user.Password = Hash128(update.Password, user.UserId);
_context.Users.Update(user); _context.Users.Update(user);
_context.SaveChanges(); _context.SaveChanges();
return true; return true;