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 }); }
//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 }); }