public async Task <IActionResult> Auth([FromBody] User user)
        {
            try
            {
                var userExists = new UserRepository().GetByEmail(user.login);

                if (userExists == null)
                {
                    return(BadRequest(new { Message = "Email e/ou senha está(ão) inválido(s)." }));
                }


                if (userExists.senha != user.senha)
                {
                    return(BadRequest(new { Message = "Email e/ou senha está(ão) inválido(s)." }));
                }


                var token = JwtAuth.GenerateToken(userExists);

                //return Ok(new
                //{
                //    Token = token,
                //    Usuario = userExists
                //});

                return(Ok(token));
            }
            catch (Exception)
            {
                return(BadRequest(new { Message = "Ocorreu algum erro interno na aplicação, por favor tente novamente." }));
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Auth([FromBody] User user)
        {
            try
            {
                //uma boa prática seria usar DI (Injeção de dependência)
                //mas não é o foco do artigo

                var userExists = new UserRepository().GetByEmail(user.Email);

                if (userExists == null)
                {
                    return(BadRequest(new { Message = "Email e/ou senha está(ão) inválido(s)." }));
                }


                if (userExists.Password != user.Password)
                {
                    return(BadRequest(new { Message = "Email e/ou senha está(ão) inválido(s)." }));
                }


                var token = JwtAuth.GenerateToken(userExists);

                return(Ok(new
                {
                    Token = token,
                    Usuario = userExists
                }));
            }
            catch (Exception)
            {
                return(BadRequest(new { Message = "Ocorreu algum erro interno na aplicação, por favor tente novamente." }));
            }
        }
Esempio n. 3
0
        public async Task <ActionResult <dynamic> > Login([FromBody] UserLoginViewModel login)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new Response(false, "Data is invalid")));
            }

            var user = await _uow.UserRepository.FindByCondition(u => u.Email == login.Email).SingleOrDefaultAsync();

            if (user == null)
            {
                return(BadRequest(new Response(false, "User or password invalid")));
            }

            if (login.Password.SHA256Encrypt() != user.Password)
            {
                return(BadRequest(new Response(false, "User or password invalid")));
            }

            user.Password = string.Empty;

            var jwt   = new JwtAuth(_config.GetValue <string>("JwtSettings:Secret"));
            var token = jwt.GenerateToken(user);

            return(new { user, token });
        }
Esempio n. 4
0
        private async Task <object> GetToken(string userName, string userPassword)
        {
            var user = await this._userRepository.ReadUserByCredentials(userName, userPassword);

            if (user == null)
            {
                return(null);
            }

            var claims = new List <Claim>
            {
                new Claim(ClaimsIdentity.DefaultNameClaimType, user.Id.ToString()),
                new Claim(ClaimsIdentity.DefaultRoleClaimType, user.IsManager ? UserRole.Manager : UserRole.Customer),
            };

            var identity = new ClaimsIdentity(
                claims,
                "Token",
                ClaimsIdentity.DefaultNameClaimType,
                ClaimsIdentity.DefaultRoleClaimType
                );

            var token = JwtAuth.GenerateToken(identity.Claims);

            return(Ok(new { access_token = token, userId = user.Id, customerId = user.Customer_Id }));
        }
        public IActionResult Auth([FromBody] Auth auth)
        {
            try
            {
                var userExists = _userService.GetUserByEmail(auth.Email);

                if (userExists == null)
                {
                    return(BadRequest(new { Message = "Email e/ou senha está(ão) inválido(s)." }));
                }

                var token = JwtAuth.GenerateToken(userExists);

                return(Ok(new
                {
                    User = userExists,
                    Token = token
                }));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(BadRequest(new { Message = "Ocorreu algum erro interno na aplicação, por favor tente novamente." }));
            }
        }
        public async Task <ActionResult <dynamic> > Autenticar([FromBody] Usuario usuario)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Usuario usuarioAutenticado;

            try
            {
                usuarioAutenticado = await _service.AutenticarUsuario(usuario);
            }
            catch (Exception)
            {
                return(BadRequest(new { message = "Não foi possível autenticar o usuário" }));
            }


            if (usuarioAutenticado == null)
            {
                return(NotFound(new { message = "Usuário ou senha inválidos" }));
            }

            var token = JwtAuth.GenerateToken(usuarioAutenticado);

            usuarioAutenticado.Senha = "";

            return(new
            {
                usuario = usuarioAutenticado,
                token = token
            });
        }
Esempio n. 7
0
        public IActionResult Login([FromBody] UserRequest data)
        {
            if (string.IsNullOrEmpty(data.Username) || string.IsNullOrEmpty(data.Password))
            {
                return(BadRequest("Dữ liệu không được bỏ trống"));
            }
            var check = _userAccess.sp_User_Authenticate(data.Username, data.Password, ipAddress());

            if (check == -49)
            {
                return(BadRequest("Tài khoản của bạn đã bị block"));
            }
            if (check == -50)
            {
                return(BadRequest("Tài khoản của bạn chưa được cấp quyền"));
            }
            if (check == -53)
            {
                return(BadRequest("Mật khẩu không chính xác"));
            }

            var _user = _userAccess.SP_User_GetByCondition(data.Username);

            string token = _jwtAuth.GenerateToken(_user);


            return(Ok(new { UserName = data.Username, TokenKey = token }));
        }
Esempio n. 8
0
        public IActionResult Auth([FromBody] UserViewModel user)
        {
            try
            {
                var userExists = _userService.CheckUserExists(user.Email, user.Password);
                if (userExists == null || userExists.Password != user.Password)
                {
                    return(BadRequest(new { Message = "Email e/ou senha está(ão) inválido(s)." }));
                }

                var key   = _configuration.GetValue <string>("AuthenticationSettings:Key");
                var token = JwtAuth.GenerateToken(Encoding.ASCII.GetBytes(key));

                return(Ok(new
                {
                    Token = token,
                    Usuario = userExists
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { Message = "Ocorreu algum erro interno na aplicação, por favor tente novamente.", ExceptionMessage = ex.Message }));
            }
        }