private string GenerateToken(NguoiDungDangNhap ndDN)
        {
            var token = new System.IdentityModel.Tokens.Jwt.JwtSecurityToken(
                claims: new Claim[] {
                new Claim(ClaimTypes.Name, ndDN.TaiKhoan),
                new Claim(ClaimTypes.Role, ndDN.MaLoaiNguoiDung),
            },
                notBefore: new DateTimeOffset(DateTime.Now).DateTime,
                expires: new DateTimeOffset(DateTime.Now.AddMinutes(60)).DateTime,
                signingCredentials: new SigningCredentials(SIGNING_KEY, SecurityAlgorithms.HmacSha256)


                );

            //string token1 = new JwtSecurityTokenHandler().WriteToken(token);
            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
        public async Task <ActionResult> DangNhap(ThongTinDangNhapVM ndDN)
        {
            NguoiDung nguoiDungCapNhat = db.NguoiDung.SingleOrDefault(n => n.TaiKhoan == ndDN.TaiKhoan && n.MatKhau == ndDN.MatKhau);

            if (nguoiDungCapNhat != null)
            {
                NguoiDungDangNhap nd = new NguoiDungDangNhap {
                    TaiKhoan = nguoiDungCapNhat.TaiKhoan, HoTen = nguoiDungCapNhat.HoTen, Email = nguoiDungCapNhat.Email, SoDT = nguoiDungCapNhat.SoDt, MaNhom = nguoiDungCapNhat.MaNhom, MaLoaiNguoiDung = nguoiDungCapNhat.MaLoaiNguoiDung
                };
                string accessToken = GenerateToken(nd);
                nd.accessToken = accessToken;


                return(Ok(nd));
            }
            var response = await tbl.TBLoi(ThongBaoLoi.Loi500, "Tài khoản hoặc mật khẩu không đúng!");

            return(response);
        }
        public async Task <ResponseEntity> DangNhap(ThongTinDangNhapVM ndDN)
        {
            NguoiDung nguoiDungCapNhat = db.NguoiDung.SingleOrDefault(n => n.TaiKhoan == ndDN.TaiKhoan && n.MatKhau == ndDN.MatKhau);

            if (nguoiDungCapNhat != null)
            {
                NguoiDungDangNhap nd = new NguoiDungDangNhap {
                    TaiKhoan = nguoiDungCapNhat.TaiKhoan, HoTen = nguoiDungCapNhat.HoTen, Email = nguoiDungCapNhat.Email, SoDT = nguoiDungCapNhat.SoDt, MaNhom = nguoiDungCapNhat.MaNhom, MaLoaiNguoiDung = nguoiDungCapNhat.MaLoaiNguoiDung
                };
                string accessToken = GenerateToken(nd);
                nd.accessToken = accessToken;


                return(new ResponseEntity(StatusCodeConstants.OK, nd, MessageConstant.MESSAGE_SUCCESS_200));
            }
            return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, "Tài khoản hoặc mật khẩu không đúng!", MessageConstant.MESSAGE_ERROR_404));

            //var response = await tbl.TBLoi(ThongBaoLoi.Loi500, "Tài khoản hoặc mật khẩu không đúng!");
            //return response;
        }