Ejemplo n.º 1
0
        public Task <BaseResponse <TokenDto> > GetToken(GetTokenRequest request)
        {
            string  hashPassword = PasswordSecurityHelper.GetHashedPassword(request.Password);
            SysUser user         = _repoUser.FindOne(x => x.Username.Equals(request.Username) && x.Password.Equals(hashPassword));

            if (user == null)
            {
                return(Task.FromResult(new BaseResponse <TokenDto>
                {
                    Data = null,
                    Errors = "Tài khoản hay mật khẩu không hợp lệ",
                    ErrorCode = -1
                }));
            }

            user.Token     = TokenSecurityHelper.GenerateToken(request.Username, request.Password, "120.0.0.1", "", DateTime.Now.Ticks);
            user.TokenExp  = DateTime.Now.AddMinutes(30);
            user.LastLogin = DateTime.Now;

            _repoUser.Update(user);

            return(Task.FromResult(new BaseResponse <TokenDto>
            {
                Data = new TokenDto
                {
                    Token = user.Token,
                    Username = user.Username,
                    Expired = user.TokenExp.Value,
                    Id = user.Id.ToString()
                }
            }));
        }
Ejemplo n.º 2
0
        public async Task <ResponseModel> AuthencitateUser(LoginModel model)
        {
            ResponseModel response = new ResponseModel();

            try
            {
                var password = PasswordSecurityHelper.GetHashedPassword(model.Password);
                //
                var md = await _context.UserRepository.FirstOrDefaultAsync(m => m.UserName == model.UserName &&
                                                                           m.Password == password &&
                                                                           m.IsActive &&
                                                                           !m.Deleted).ConfigureAwait(false);

                if (md != null)
                {
                    UserModel user = new UserModel()
                    {
                        Id       = md.Id,
                        UserName = md.UserName,
                        FullName = string.Empty, // TODO
                        Email    = string.Empty  // TODO
                    };
                    JwtTokenModel token = _tokenService.CreateToken(user);
                    response.ResponseStatus = Core.CommonModel.Enums.ResponseStatus.Success;
                    response.Result         = token;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(response);
        }