1
resposta

[Dúvida] Não consigo me conectar

Ao tentar me conectar através da página de login ele redireciona para a url correta porém recebo sempre o status code 401 (Não autorizado), quando testo esse mesmo endpoint através do swagger consigo me conectar tranquilamente `using ScreenSound.Web.Response; using System.Net.Http.Json;

namespace ScreenSound.Web.Services { public class AuthAPI(IHttpClientFactory factory) { private readonly HttpClient _httpClient = factory.CreateClient("API");

    public async Task<AuthResponse> LoginAsync(string _email, string senha)
    {
        var response = await _httpClient.PostAsJsonAsync("auth/login", new
        {
            email = _email,
            password = senha
        });

        if (response.IsSuccessStatusCode)
        {
            return new AuthResponse { Sucesso = true };
        }

        return new AuthResponse { Sucesso = false, Erros = ["Email ou senha inválidos."] }; 
    }
}

} `

Fiz alguma coisa errada? ![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

1 resposta

Olá Rafael! Bom dia, tudo bem?

Pelo que você descreveu, parece que o problema pode estar relacionado à forma como as credenciais estão sendo enviadas ou como a autenticação está configurada no servidor. Aqui estão algumas dicas para resolver o problema:

  1. Verifique as Credenciais: Certifique-se de que o email e a senha estão corretos e correspondem aos dados esperados pelo servidor.

  2. Configuração do Cliente HTTP: Verifique se o HttpClient está configurado corretamente no Program.cs. A URL base e os cabeçalhos devem estar corretos. Pelo código que você mostrou, parece que está configurado, mas vale a pena revisar.

  3. Verifique o Endpoint: Confirme se a rota auth/login está correta e se o servidor está esperando os dados no formato que você está enviando.

  4. Autenticação no Servidor: Verifique se o servidor está configurado para aceitar as requisições do cliente. Pode haver alguma configuração de CORS ou autenticação que precise ser ajustada.

  5. Logs do Servidor: Verifique os logs do servidor para ver se há alguma mensagem de erro que possa ajudar a identificar o problema.

  6. Verifique o Swagger: Como você mencionou que o Swagger funciona, compare as requisições feitas pelo Swagger com as do seu cliente para ver se há alguma diferença nos cabeçalhos ou no corpo da requisição.

Espero ter ajudado e bons estudos!