Exemple #1
0
        public async override Task <LoginResultVM> RunAsync(ValidateUserLoginCmd process, CancellationToken cancellationToken = default)
        {
            var userLogin = await p_DbContext.UserLogins
                            .SingleOrDefaultAsync(a => a.Username == process.Username);

            if (userLogin == null)
            {
                return(new LoginResultVM
                {
                    IsSuccess = false,
                    Error = new LynxException("Username or password not found")
                });
            }

            if (!p_PasswordHasher.IsPasswordVerified(userLogin.Salt, userLogin.Password, process.Password))
            {
                return(new LoginResultVM
                {
                    IsSuccess = false,
                    Error = new LynxException("Username or password not found")
                });
            }

            return(new LoginResultVM
            {
                IsSuccess = true
            });
        }
Exemple #2
0
        public async Task <SignInResult> PasswordSignInAsync(string userName, string password)
        {
            try
            {
                var _l = await mediator.Send(new VerifyLoginQuery { Username = userName });


                if (_l == null)
                {
                    throw new Exception("Invalid Username or password");
                }

                if (!passwordHasher.IsPasswordVerified(_l.Salt, _l.Password, password))
                {
                    throw new Exception("Invalid Username or password");
                }

                return(await SignInAsync(userName));
            }
            catch (Exception ex)
            {
                var _result = SignInResult.Failed;
                _result.Message = ex.Message;

                return(_result);
            }
        }
Exemple #3
0
        public async Task <SignInResult> PasswordSignInAsync(string userName, string password)
        {
            var _l = await mediator.Send(new VerifyUserLoginQuery { Username = userName });


            if (_l == null)
            {
                throw new Exception("Invalid username or password");
            }

            if (!passwordHasher.IsPasswordVerified(_l.Salt, _l.Password, password))
            {
                throw new Exception("invalid username or password");
            }

            return(await SignInAsync(userName));
        }
            public async Task <bool> Handle(ChangeUsernameCommand request, CancellationToken cancellationToken)
            {
                var _user = dbContext.UserLogins.Where(a => a.ID == request.UserID).SingleOrDefault();


                if (passwordHasher.IsPasswordVerified(_user.Salt, _user.Password, request.Data.Password))
                {
                    _user.Username = request.Data.NewUsername;
                    await dbContext.SaveChangesAsync();
                }
                else
                {
                    throw new Exception("Password Incorrect");
                }

                return(true);
            }
            public async Task <bool> Handle(ChangePasswordCommand request, CancellationToken cancellationToken)
            {
                var _user = dbContext.UserLogins.Where(a => a.ID == request.UserID).SingleOrDefault();

                if (request.Data.NewPassword == request.Data.ConfirmPassword)
                {
                    if (passwordHasher.IsPasswordVerified(_user.Salt, _user.Password, request.Data.CurrentPassword))
                    {
                        _user.Password = passwordHasher.HashPassword(_user.Salt, request.Data.NewPassword);
                        await dbContext.SaveChangesAsync();
                    }
                    else
                    {
                        throw new Exception("Old Password is incorrect");
                    }
                }
                else
                {
                    throw new Exception("New Password did not match");
                }

                return(true);
            }