public async Task <User> Register(RegisterDTO registerDTO) { var objUser = new User(); objUser.Email = registerDTO.Email; objUser.Phone = registerDTO.Phone; objUser.LastName = registerDTO.LastName; objUser.FirstName = registerDTO.FirstName; objUser.Salt = Cryptographic.GenerateSalt(); objUser.Password = Cryptographic.HashPasswordWidthSalt(Encoding.UTF8.GetBytes(registerDTO.Password), objUser.Salt); objUser.ProfileId = Constants.Profile.Cliente; objUser.StateId = Constants.State.Activo; await _context.Users.AddAsync(objUser); await _context.SaveChangesAsync(); return(objUser); }
public async Task <User> Login(string username, string password) { User objUser = await _context.Users.FirstOrDefaultAsync(x => x.Email == username || x.Phone == username); if (objUser == null) { return(null); } byte[] passwordEncrypt = Cryptographic.HashPasswordWidthSalt(Encoding.UTF8.GetBytes(password), objUser.Salt); if (!passwordEncrypt.SequenceEqual(objUser.Password)) { return(null); } else { return(objUser); } }