public async Task <IActionResult> PostAsync([FromBody] LoginCredencials login)
        {
            var authentication = await _authenticate.AuthenticateAsync(login);

            if (!authentication.IsValid)
            {
                return(Unauthorized(authentication));
            }
            var authorization = await _authorize.AuthorizeAsync(authentication.DataEntity);

            if (!authorization.IsAuthorized)
            {
                return(Forbid());
            }
            return(Ok(authorization));
        }
        public async Task <BaseResult <IUser> > AuthenticateAsync(LoginCredencials loginUser)
        {
            var result = new BaseResult <IUser>();

            result.IsValid = false;
            result.Message = "User Unauthenticated";
            if (!(string.IsNullOrEmpty(loginUser.LoginName) || string.IsNullOrEmpty(loginUser.Password)))
            {
                if (loginUser.Password == "teste1234")                                //Valido se é uma senha válida
                {
                    result.DataEntity = new UserModel().GetUser(loginUser.LoginName); //Recupero os dados do usuário informado
                    result.IsValid    = !(result.DataEntity == null);                 //Valido se existe o usuário informado baseada na recuperação dos seus dados
                    result.Message    = "User authenticated";                         //Retorno que está autenticado
                }
            }
            return(await Task.FromResult(result));
        }