コード例 #1
0
        public async Task <LoginServiceResult> Login(LoginServiceContract contract)
        {
            var user = await _userService.GetUser(contract.Login);

            var loginResult = GetLoginResult(contract, user);

            if (loginResult.Success)
            {
                await _userService.UpdateRefreshToken(user.Id, contract.RefreshToken);
            }

            return(loginResult);
        }
コード例 #2
0
        private LoginServiceResult GetLoginResult(LoginServiceContract contract, User user)
        {
            var loginReturn = new LoginServiceResult();

            if (user != null && MD5Hash(contract?.Password).Equals(user.Password))
            {
                loginReturn.UserId   = user.Id;
                loginReturn.UserName = user.Login;
                loginReturn.Success  = true;
            }
            else
            {
                loginReturn.Success = false;
                loginReturn.Error   = "Неверное имя пользователя или пароль";
            }

            return(loginReturn);
        }