Example #1
0
        public string Login(LoginDTO data, IConfiguration config)
        {
            if (String.IsNullOrEmpty(data.Email))
            {
                throw new Exception("Email field is required!");
            }

            if (String.IsNullOrEmpty(data.Password))
            {
                throw new Exception("Password field is required!");
            }

            if (!data.Email.Contains("@"))
            {
                throw new Exception("Enter valid email!");
            }
            data.Password = Compute256Hash.ComputeSha256Hash(data.Password);
            var valid = _unitOfWork.User.Find(u => u.Password == data.Password && u.Email == data.Email && u.IsDeleted == 0).FirstOrDefault();

            if (valid != null)
            {
                var token = GenerateToken.GenerateJSONWebToken(valid, config);
                return(token);
            }
            else
            {
                throw new Exception("User not found");
            }
        }
        public async Task <IActionResult> Login([FromBody] LoginRequest model)
        {
            var user = await userManager.FindByNameAsync(model.username);

            IActionResult response = Unauthorized();

            if (user != null && await userManager.CheckPasswordAsync(user, model.password))
            {
                GenerateToken generateToken = new GenerateToken(configuration, userManager, settings);
                var           tokenString   = generateToken.GenerateJSONWebToken(user);
                response = Ok(new { token = tokenString.Result });
                return(response);
            }
            else
            {
                return(Unauthorized());
            }
        }