コード例 #1
0
        public ActionResult <dynamic> Authenticate(UsuarioRequest request)
        {
            StringValues usuarioId;
            var          md5 = new CriadorMD5();

            if (!Request.Headers.TryGetValue("UserId", out usuarioId))
            {
                return(Unauthorized());
            }
            var usuarioObtido = usuarioServices.ObterUsuario(Guid.Parse(usuarioId));

            if (usuarioObtido.Name != request.Nome || !md5.ComparaMD5(request.Senha, usuarioObtido.Senha))
            {
                return(Unauthorized());
            }

            if (usuarioObtido == null)
            {
                return(Unauthorized());
            }

            var token = TokenServices.GerarToken(usuarioObtido);

            return(new
            {
                usuario = usuarioObtido,
                token = token
            });
        }
コード例 #2
0
        //dynamic porque haverão varios tipos de retorno
        public async Task <ActionResult <dynamic> > Autenticar([FromBody] User model)
        {
            // Recupera o usuário
            var user = UserRepository.GetLogin(model.Username, model.Password);

            //var user = new  Models.User {Id = 1, Username ="******", Password="******", Role="employee" };

            // Verifica se o usuário existe
            if (user == null)
            {
                return(NotFound(new { message = "Usuário ou senha inválidos" }));
            }

            // Gera o Token
            var token = TokenServices.GerarToken(user);

            // Oculta a senha
            user.Password = "";

            // Retorna os dados
            return(new
            {
                user = user,
                token = token
            });
        }