Ejemplo n.º 1
0
        //Autenticação, login
        public async Task <ActionResult <dynamic> > Authenticate(
            [FromBody] User model,
            [FromServices] DataContext context
            )
        {
            var user = await context
                       .Users
                       .AsNoTracking()
                       .Where(x =>
                              x.Username == model.Username &&
                              x.Password == model.Password)
                       .FirstOrDefaultAsync();

            if (user == null)
            {
                return(NotFound(new { Erro = "Usuário ou senha inválidos!" }));
            }

            var token = TokenServices.GenerateToken(user);

            user.Password = "";

            return(new
            {
                user = user,
                token = token
            });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Returns auth token for the validated user.
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        private HttpResponseMessage GetAuthToken(long userId)
        {
            var token    = _tokenServices.GenerateToken(userId);
            var response = Request.CreateResponse(HttpStatusCode.OK, token.AuthToken);

            response.Headers.Add("Token", token.AuthToken);
            response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
            response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");
            return(response);
        }
Ejemplo n.º 3
0
        private HttpResponseMessage GetAuthToken(int userId)
        {
            TokenServices service = new TokenServices();

            var token    = service.GenerateToken(userId);
            var response = Request.CreateResponse(HttpStatusCode.OK, "Authorized");

            response.Headers.Add(MobileCommon.WebToken, token.AuthToken.ToString());
            response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
            response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");
            return(response);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Returns auth token for the validated user.
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        private HttpResponseMessage GetAuthToken(BasicAuthenticationIdentity basicAuthenticationIdentity)
        {
            var userId = basicAuthenticationIdentity.UserId;

            TokenServices tokenService = new TokenServices();
            var           token        = tokenService.GenerateToken(userId);
            var           response     = Request.CreateResponse(HttpStatusCode.OK, "Authorized");

            response.Headers.Add("Token", token.AuthToken);
            response.Headers.Add("UserId", userId.ToString());
            response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
            response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");
            return(response);
        }
Ejemplo n.º 5
0
        public IActionResult Authenticate([FromBody] User model)
        {
            var user = UserRepository.Get(model.Username, model.Password);

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

            var token = TokenServices.GenerateToken(user);

            user.Password = "";

            return(Ok(new { user, token }));
        }
        public IHttpActionResult Login(UsuarioSenhaDTO usuario)
        {
            if (usuario == null || usuario.Login == null || usuario.Senha == null)
            {
                return(BadRequest());
            }
            Usuario user;

            try
            {
                Modelo db = new Modelo();
                user = db.Usuarios.Find(usuario.Login);


                if (user == null)
                {
                    return(BadRequest("Usuário não encontrado!"));
                }

                string senhaCrypt = CryptoGraph.Encrypt(usuario.Senha);

                if (user.Senha != senhaCrypt)
                {
                    return(BadRequest("Senha incorreta!"));
                }


                string token = TokenServices.GenerateToken(user.Login, roles: user.Perfil);

                var userObj = new
                {
                    Token   = token,
                    Usuario = user.Nome,
                    usuario.Login,
                    user.FuncionarioId,
                    user.Funcionario?.MatriculaFuncionario,
                    user.Funcionario?.CodigoEmpresa,
                    user.Perfil
                };
                db.Dispose();

                return(Ok(userObj));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, ex));
            }
        }
        public async Task <ActionResult <dynamic> > Signup([FromBody] Usuario user)
        {
            var User = interfac.Newuser(user);

            if (User == null)
            {
                return(NotFound(new { message = "Usuario ou senha incorreta" }));
            }
            var token = TokenServices.GenerateToken(User);

            user.Password = criptografia.ComputerHash(user.Password, new SHA256CryptoServiceProvider());
            return(new
            {
                User = User,
                token = token
            });
        }
        public async Task <ActionResult <dynamic> > Authenticate([FromServices] DataContext context, [FromBody] Usuario model)
        {
            var Usuario = UsuarioRepository.Get(model.Nome, model.Senha, context);

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

            var token = TokenServices.GenerateToken(Usuario);

            Usuario.Senha = "";
            return(new
            {
                Usuario = Usuario,
                token = token
            });
        }
Ejemplo n.º 9
0
        public async Task <ActionResult <dynamic> > Authenticate([FromBody] User model)
        {
            var user = Repositories.GetByEmail(model.email);

            if (user == null)
            {
                return(NotFound(new { message = "Usuario ou senha invalidos" }));
            }

            var token = TokenServices.GenerateToken(user);

            user.senha = "";
            return(new
            {
                user = user,
                token = token
            });
        }
Ejemplo n.º 10
0
        public IActionResult Authenticate1([FromBody] User model)
        {
            var user = UserRepository.GetUser(model.UserName, model.Password);

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

            var token = TokenServices.GenerateToken(user);

            user.Password = null;

            return(Ok(new
            {
                user = user,
                token = token
            }));
        }
Ejemplo n.º 11
0
        public async Task <ActionResult <dynamic> > Autenticacao([FromBody] Usuario model)
        {
            try
            {
                var user = UsuarioRepository.Get(model.Nome, model.Senha);
                if (user == null)
                {
                    return(BadRequest(new { message = "Usuário ou senha inválidos" }));
                }

                var token = TokenServices.GenerateToken(user);
                user.Senha = "";
                return(new
                {
                    user = user,
                    token = token
                });
            }
            catch (System.Exception erro)
            {
                return(BadRequest(erro.Message.ToString()));
            }
        }
Ejemplo n.º 12
0
        public async Task <ActionResult <dynamic> > Authenticate([FromBody] User userModel)
        {
            var user = await _context.Users
                       .AsNoTracking()
                       .Where(u => u.Username == userModel.Username && u.Password == userModel.Password)
                       .FirstOrDefaultAsync();

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

            //generates the token to the user submited
            var token = TokenServices.GenerateToken(user);

            user.Password = "******";

            return(new
            {
                //returns the validated user and token to the API
                user = user,
                token = token
            });
        }
Ejemplo n.º 13
0
        public HttpResponseMessage VerifySecurityAnswer([FromBody] List <SecurityQuestionAnswer> answerList, int userId)
        {
            UserServices service = new UserServices();
            bool         rtn;

            try
            {
                rtn = service.VerifySecurityQuestionAnswer(answerList, userId);
                if (!rtn)
                {
                    var response = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "The answers to your security questions do not match our records.");
                    response.Headers.Add("message", "The answers to your security questions do not match our records.");

                    return(response);
                }

                else
                {
                    TokenServices tokenService = new TokenServices();
                    var           token        = tokenService.GenerateToken(userId);
                    var           response     = Request.CreateResponse(HttpStatusCode.OK, "Authorized");
                    response.Headers.Add("Token", token.AuthToken);
                    response.Headers.Add("UserId", userId.ToString());
                    response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
                    response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");
                    return(response);
                }
            }
            catch (Exception ex)
            {
                ex.Data.Add("userId", userId);
                ex.Data.Add("HTTPReferrer", "JCRAPI/UserInfo/GetSQuestions");
                WebExceptionHelper.LogException(ex, null);
                return(null);
            }
        }