Exemple #1
0
        // DELETE api/<controller>/5
        public IActionResult Validate([FromBody] LoginViewModel Model)
        {
            GenericResponse response = new GenericResponse();

            response.FillSuccess();
            if (ModelState.IsValid)
            {
                var res = _helper_activeDirectory.Validate(Model.Username, Model.Password);
                response.data = res;
            }
            else
            {
                response.FillError("UserName Is empty");
            }
            return(Ok(response));
        }
Exemple #2
0
        public IActionResult Login([FromBody] dto_User input)
        {
            GenericResponse _res = new GenericResponse();

            _res.FillSuccess();
            if (input != null)
            {
                var user = _service_account.GetUser(input.Email);

                if (user != null)
                {
                    if (user.isAD)
                    {
                        var valid = _helper_activeDirectory.Validate(input.Email, input.Password);
                        if (valid)
                        {
                            user = _service_account.loginAD(input.Email);
                        }
                        else
                        {
                            user = null;
                            _res.FillError("User NotFound");
                        }
                    }
                    else if (input.IsThirdParty)
                    {
                        user = _service_account.login(input.Email);
                    }
                    else
                    {
                        user = _service_account.login(input.Email, input.Password);
                    }
                }
                else
                {
                    if (input.IsThirdParty)
                    {
                        FillBase(input);
                        input.ActivationStartDate = DateTime.Now;
                        input.isActivated         = true;

                        _service_account.register(input);
                        user = _service_account.login(input.Email);
                    }
                    else
                    {
                        _res.FillError("User NotFound");
                    }
                }
                if (user != null)
                {
                    if (user.isActivated && user.ActivationStartDate.HasValue && user.ActivationStartDate.Value <= DateTime.Now &&
                        (user.ActivationEndDate.HasValue == false || user.ActivationEndDate <= DateTime.Now)
                        )
                    {
                        UserTokenModel model = new UserTokenModel();
                        model.IsEnglish = true;
                        emptyUser(user);
                        model.User = user;
                        string token = GenerateToken_HS256(model);
                        //string token = GenerateToken_RS256(user);
                        //string Decoded = decodeToken_RS256(token);
                        _res.data = token;
                    }
                    else
                    {
                        _res.FillError("User is not activated");
                    }
                    return(Ok(_res));
                }
                else
                {
                    _res.FillError("User NotFound");
                    return(Ok(_res));
                }
            }
            else
            {
                _res.FillError("User NotFound");
                return(Ok(_res));
            }
        }