1
resposta

Falha ao tentar realizar o LOGIN

Boa noite Marcelo, o probela ainda está sem solucção, não consigo realizar o login pelo aplicação, estou emulando direto no meu dispositivo Android, o problema esta na hora de consumir a API com o PostAsync.

Eu consigo obter os dados da Listagem dos veiculos normalmente, o problema é na hora de executar o metodo de LOGIN, recebo o erro conforme abaixo:

{StatusCode: 403, ReasonPhrase: 'Forbidden', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Connection: keep-alive
Server: Apache-Coyote/1.1
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 3600
Access-Control-Allow-Headers: x-requested-with
Transfer-Encoding: chunked
Date: Fri, 26 Oct 2018 03:12:05 GMT
Via: 1.1 vegur
Content-Type: application/json;charset=UTF-8
}}

Já tentei de todas as formas mas não consigo avançar nesta etapa, segue o código da minha classe :

 var camposFormulario = new System.Net.Http.FormUrlEncodedContent(new[]
                {
                        new KeyValuePair<string, string>("email", login.email),
                        new KeyValuePair<string, string>("senha", login.senha)
                });

 cliente.BaseAddress = new Uri("https://aluracar.herokuapp.com");
var resultado = await cliente.PostAsync("/login", camposFormulario);  

  if (resultado.IsSuccessStatusCode)
                    // envia msg caso de sucesso
                    MessagingCenter.Send<Usuario>(new Usuario(), "SucessoLogin");
                else
                    MessagingCenter.Send<LoginException>(new LoginException("Usuário ou senha incorretos!"), "FalhaLogin");

Eu criei um API externa para testar o código e por ela eu consigo acessar normalmente, será que o problema não pode estar na API?

1 resposta

Oi André

O Web Service utilizado falha 1 vez a cada 3 ou 4 vezes, de propósito. Ele faz isso pra podermos testar tratamento de exceções no Xamarin.

As imagens abaixo mostram os meus testes.

Primeiro, eu testei o login com o código do próprio projeto do curso:

Login: http://prntscr.com/lbttr9

Como podemos ver, a lista de veículos retornou sem problemas

Lista de veículos (código do curso): http://prntscr.com/lbtu53

Então resolvir trocar o código do curso pelo código que você postou aqui. De novo, obtive sucesso, sem problemas:

Sucesso usando código do André Carlos Barboza: http://prntscr.com/lbu0iz

E a lista foi populada novamente:

Lista de veículos (código do André): http://prntscr.com/lbu52q

Eu fiquei intrigado, porque num outro post você disse que havia funcionado, mas de repente parou de funcionar:

https://cursos.alura.com.br/forum/topico-erro-ao-tentar-autenticar-usuario-70299

Você lembra de ter carregado a lista de veículos com sucesso?

Você pode postar um link para seu código? Pode ser no GitHub, por exemplo. Aí posso baixar o código completo e testar. Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software