Example #1
0
        public async Task <ActionResult <int> > DoiMatKhau(DoiMatKhauRequest request)
        {
            int    result       = 0;
            string hashPassword = _userService.GetPasswordByMaTk(request.maTaiKhoan);

            if (hashPassword != null)
            {
                bool checkPassword = BCryptService.CheckPassword(request.matKhau, hashPassword);

                if (checkPassword == true)
                {
                    string newPassword = BCryptService.HashPassword(request.matKhauMoi);
                    result = await _userService.DoiMatKhau(request.maTaiKhoan, newPassword);
                }
            }
            return(result);
        }
Example #2
0
        public async Task <IActionResult> DongTaiKhoanThanhToan(DongTaiKhoanThanhToanRequest request)
        {
            var hashPassword = _userService.GetPasswordByMaTk(request.MaTaiKhoan);
            var response     = false;

            if (hashPassword != null)
            {
                bool checkPassword = BCryptService.CheckPassword(request.MatKhau, hashPassword);

                if (checkPassword == true)
                {
                    var result = _userService.DongTaiKhoanThanhToan(request.MaTaiKhoan).Result;
                    if (result > 0)
                    {
                        response = true;
                    }
                }
            }

            return(Ok(new { response }));
        }
Example #3
0
        //[HttpPost]
        //[Produces("application/json")]
        //[Route("RefreshToken")]
        //public async Task<IActionResult> Refresh(string token, string refreshToken)
        //{
        //    var princial = GetPrincipalFromExpiredToken(token);
        //    var userName = princial.Claims.ToList()[0].Value;
        //    var user = _userService.GetUserByUserName(userName).Result;

        //    // Check current request token of user
        //    if (user == null || user.RefreshToken != refreshToken)
        //    {
        //        return BadRequest();
        //    }

        //    var newJwtToken = GenerateJSONWebToken(user);
        //    var newRefreshToken = GenerateRefreshToken();

        //    var result = _userService.EditUserRefreshToken(userName, refreshToken);

        //    return new ObjectResult(new
        //    {
        //        token = newJwtToken,
        //        refreshToken = newRefreshToken
        //    });
        //}

        //[Authorize]
        //[HttpPost]
        //[Produces("application/json")]
        //[Route("RevokeToken")]
        //public async Task<IActionResult> Revoke()
        //{
        //    var userName = User.Claims.ToList()[0].Value;

        //    var user = _userService.GetUserByUserName(userName).Result;
        //    if (user == null) return BadRequest();

        //    user.RefreshToken = null;
        //    var result = _userService.EditUserRefreshToken(userName, null);
        //    return NoContent();
        //}

        private UserBO AuthenticateUser(UserBO login)
        {
            UserBO user          = null;
            UserBO userAdmin     = null;
            UserBO userKhachHang = null;

            user = _userService.GetUserByTenDangNhap(login.TenTaiKhoan).Result;

            if (user != null)
            {
                bool validPassword = BCryptService.CheckPassword(login.MatKhau, user.MatKhau);

                if (validPassword)
                {
                    if (user.IdLoaiTaiKhoan == 1)
                    {
                        userKhachHang = _userService.GetThongTinTaiKhoanKhachHang(user.MaTk).Result;
                        return(userKhachHang);
                    }
                    else
                    {
                        if (user.IdLoaiTaiKhoan == 4)
                        {
                            return(user);
                        }
                        else
                        {
                            userAdmin = _userService.GetThongTinTaiKhoanAdmin(user.MaTk).Result;
                            return(userAdmin);
                        }
                    }
                }
            }

            return(null);
        }
Example #4
0
 private bool CheckHash(string textValue, string hashValue)
 {
     return(BCryptService.CheckPassword(textValue, hashValue));
 }