Exemplo n.º 1
0
        public async Task <IActionResult> LoginAsync([FromBody] Authentication auth)
        {
            if (string.IsNullOrEmpty(auth.Username) || string.IsNullOrEmpty(auth.Password))
            {
                return(BadRequest(new { message = "Tài khoản và mật khẩu là bắt buộc" }));
            }

            var listUser = await dbcontext.AspNetUsers.AsNoTracking()
                           .Where(x => x.UserName == auth.Username &&
                                  x.LockoutEnabled == false)
                           .ToListAsync();

            listUser = listUser.AsEnumerable()
                       .Where(x => PosEncryption.ValidatePassword(auth.Password, x.PasswordHash))
                       .ToList();
            var user = listUser.FirstOrDefault();

            // Test GRPC
            //string idUser = "******";
            //var customer = new GetCustomerRequest { Id = idUser };
            //var result = await _customer.GetCustomerAsync(customer);
            // end GRPC

            if (user != null)
            {
                return(Ok(await _authService.GenerateTokenJWT(user)));
            }
            else
            {
                return(NotFound($"Không tìm thấy tài khoản {auth.Username}"));
            }
        }
Exemplo n.º 2
0
        public override async Task <LoginReply> LoginSystem(LoginRequest request, ServerCallContext context)
        {
            string status = GatewaySecureCommon.NotFound;

            try
            {
                var listUser = await dbContext.AspNetUsers.AsNoTracking()
                               .Where(x => x.UserName == request.UserName &&
                                      x.LockoutEnabled == false)
                               .ToListAsync();

                listUser = listUser.AsEnumerable()
                           .Where(x => PosEncryption.ValidatePassword(request.Password, x.PasswordHash))
                           .ToList();
                var user = listUser.FirstOrDefault();
                if (user != null)
                {
                    status = GatewaySecureCommon.Success;
                }
                return(new LoginReply
                {
                    Id = user?.Id ?? "",
                    UserName = user?.UserName ?? "",
                    FullName = user?.ToString() ?? "",
                    PhoneNumber = user?.PhoneNumber ?? "",
                    Email = user?.Email ?? "",
                    LockoutEnabled = user?.LockoutEnabled ?? true,
                    Status = status
                });
            }
            catch (Exception)
            {
                status = GatewaySecureCommon.ErrorSystem;
                return(new LoginReply
                {
                    Id = "",
                    UserName = "",
                    FullName = "",
                    PhoneNumber = "",
                    Email = "",
                    LockoutEnabled = true,
                    Status = status
                });
            }
        }
Exemplo n.º 3
0
        public async Task <object> CreateAsync(AspNetUserVm user)
        {
            try
            {
                var createUser = new AspNetUsers();
                createUser.Id       = Guid.NewGuid().ToString();
                createUser.UserName = user.UserName;
                createUser.FullName = user.FullName;
                //createUser.NormalizedUserName = user.NormalizedUserName;
                createUser.Email = user.Email;
                //createUser.NormalizedEmail = user.NormalizedEmail;
                createUser.EmailConfirmed = user.EmailConfirmed;
                createUser.PasswordHash   = PosEncryption.HashPassword(user.PasswordHash);
                createUser.PhoneNumber    = user.PhoneNumber;
                dbContext.AspNetUsers.Add(createUser);
                await dbContext.SaveChangesAsync();

                return(new { status = GatewaySecureCommon.Success, reuslt = createUser });
            }
            catch (Exception ex)
            {
                return(new { status = GatewaySecureCommon.ErrorSystem, reuslt = "" });
            }
        }