public async Task <ActionResult <UserDto> > Login(loginDto login)
        {   //List<AppUser> user = new List<AppUser>();
            var user = await _conn.Users.SingleOrDefaultAsync(x => x.UserName.ToLower() == login.Username.ToLower());

            //user =  _conn.Users.Select(s=>new { s.UserName,s.PasswordSalt,s.PasswordHash}).Where().ToList();
            if (user == null)
            {
                return(Unauthorized("Invalid username"));
            }

            using var hmac = new HMACSHA512(user.PasswordSalt);

            var ComputeHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(login.Password));

            for (int i = 0; i < ComputeHash.Length; i++)
            {
                if (ComputeHash[i] != user.PasswordHash[i])
                {
                    return(Unauthorized("Invalid Password"));
                }
            }
            return(new UserDto {
                Username = user.UserName,
                Token = _token.CreateToken(user)
            });
        }
Example #2
0
        public async Task <(bool, string, LoginResponse)> Login(loginDto loginDto)
        {
            var(success, message, data) = await userRepository.Login(loginDto);


            return(true, "", new LoginResponse {
                AccessToken = GenerateToken(data.Guid.ToString()), Email = data.Email, Id = data.Guid.ToString()
            });
        }
Example #3
0
        public IDataResult <user> login(loginDto login)
        {
            var user = _user.getOneByEmail(login.userEmail);

            if (!user.success)
            {
                return(new DataErrorResult <user>(bllMessages.notFoundEmail));
            }
            if (!hashHelper.verifyPasswordHash(login.password, user.data))
            {
                return(new DataErrorResult <user>(bllMessages.wrongPassword));
            }
            return(new DataSuccessResult <user>(user.data, bllMessages.successfullLogin));
        }
Example #4
0
        public ActionResult login(loginDto loginDto)
        {
            var isLogin = _aut.login(loginDto);

            if (!isLogin.success)
            {
                return(BadRequest(isLogin.message));
            }
            var token = _aut.createAccessToken(isLogin.data);

            if (token.success)
            {
                return(Ok(token.data));
            }
            return(BadRequest(token.message));
        }
        public async Task <ActionResult <AppUser> > DeleteUser(loginDto dt)
        {
            var x = await _conn.Users.FirstOrDefaultAsync(x => x.UserName == dt.Username);

            if (x != null)
            {
                _conn.Users.Remove(x);

                await _conn.SaveChangesAsync();
            }
            else
            {
                return(Unauthorized("This user doest exist"));
            }

            return(Ok("User Deleted successfully"));
        }
        public async Task <(bool, string, User)> Login(loginDto loginDto)
        {
            Hash   hash           = new Hash();
            string hashedPassword = hash.GenerateSha256Hash(loginDto.Password);

            hashedPassword = hashedPassword.Replace("-", string.Empty).Substring(0, 16);
            var data = await dataContext.users.Where(x => x.Email == loginDto.Email && x.Password == hashedPassword).FirstOrDefaultAsync();

            if (data != null)
            {
                if (!data.isVerified)
                {
                    return(false, "Email is not Confirmed", null);
                }
                return(true, "", data);
            }

            return(false, "Email is not Confirmed", null);
        }
        public async Task <ActionResult <UserDto> > Login(loginDto loginDto)
        {
            var user = await this.userManager.Users.Include(p => p.Photos)
                       .FirstOrDefaultAsync(x => x.Email == loginDto.Email);

            if (user == null)
            {
                return(Unauthorized());
            }

            var result = await this.signInManager.CheckPasswordSignInAsync(user, loginDto.Password, false);

            if (result.Succeeded)
            {
                return(CreateUserObject(user));
            }

            return(Unauthorized());
        }
        public async Task <(bool, string, LoginResponse)> Login(loginDto loginDto)
        {
            logger.LogInformation("Login Successfulluy", loginDto);

            return(await userService.Login(loginDto));
        }