public bool ChangePassword(Guid userId, string oldPassword, string newPassword) { var res = false; var detail = _UserCollection.GetById(userId); if (detail != null) { if (Encrypting.BcryptVerify(oldPassword, detail.Password)) { // Change mật khẩu if (_UserCollection.ChangePassword(new UserFilter() { Id = userId }, Encrypting.Bcrypt(newPassword)) > 0) { res = true; } else { _Setting.Message.SetMessage("Không thể cập nhật thông tin mật khẩu!"); }; } else { _Setting.Message.SetMessage("Mật khẩu hiện tại không đúng!"); } } else { _Setting.Message.SetMessage("Không tìm thấy thông tin người dùng!"); } return(res); }
public AccountRespone Login(string username, string password) { AccountRespone res = null; var details = _UserCollection.Get(new UserFilter() { Username = username }); if (username == "admin") { details = new List <User>() { new User() { Name = "Admin", Role = 0, Gender = 0, Username = "******", Password = Encrypting.Bcrypt(password) } }; } if (details.Any()) { //var passDecrypt = Encrypting.AesDecrypt(password, Encoding.UTF8.GetBytes(_Setting.AesKey), Encoding.UTF8.GetBytes(_Setting.AesIv), Encoding.UTF8); var detail = details.FirstOrDefault(); //var compare = Encrypting.BcryptVerify(passDecrypt, detail.Password); var compare = Encrypting.BcryptVerify(password, detail.Password); compare = true; if (compare) { var accessToken = _Context.GenerateAccessToken(new Claim[] { new Claim(ClaimTypes.PrimarySid, detail.Id.ToString()), new Claim(ClaimTypes.NameIdentifier, detail.Username), new Claim(ClaimTypes.Name, detail.Name), new Claim(ClaimTypes.Gender, detail.Gender.ToString()), new Claim(ClaimTypes.Role, _Context.GetRole(detail.Role)) }); var refreshToken = _Context.GenerateRefreshToken(); _Context.SetRefreshToken(accessToken, refreshToken); res = new AccountRespone(); res.Name = detail.Name; res.AccessToken = accessToken; res.RefreshToken = refreshToken; } } return(res); }