none
Autenticar na WeApi RRS feed

  • Pergunta

  • Como passar a autenticação na webapi?

    meu cod

    var parametros = new Dictionary<string, string>();
    parametros.Add("email", "demo@demo.com.br");
    parametros.Add("password", "demo0007");
    parametros.Add("imei", "012345678912345");
    parametros.Add("version", "54");
    parametros.Add("devicename", "Reademi");
    var content = new FormUrlEncodedContent(parametros);
    var request = await Client.PostAsync("http://api.servidor.com.br/new/auth", content);


    No Postmam eu passo assim

    {
    "email": "demo@demo.com.br",
    "password": "demo0007",
    "imei": "012rde43q",
    "version": "12",
    "devicename": "Readmi"
    }

    e funciona

    como passo via Client? 

    Junior Santana


    • Editado Jr_inc sexta-feira, 3 de agosto de 2018 11:27
    quarta-feira, 1 de agosto de 2018 18:22

Respostas

  • Boa tarde, Jr_inc. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 2 de agosto de 2018 14:10
    Moderador

Todas as Respostas

  • Boa tarde, Jr_inc. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 2 de agosto de 2018 14:10
    Moderador
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 23 de agosto de 2018 20:21
    Moderador
  • Para fazer uma request POST enviando um json, poderia fazer algo assim:

    using System;
    using System.IO;
    using System.Net.Http;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Json;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                var login = new LoginInformation
                {
                    Email = "teste@teste.com",
                    Password = "1234"
                };
    
                try
                {
                    Console.WriteLine("Starting..");
                    var jsonString = login.ToJson();
                    if (jsonString is string)
                    {
                        Console.WriteLine($"Sending: {jsonString}");
                        var task = PostJsonAsync(jsonString);
                        task.ConfigureAwait(false);
                        task.Wait();
    
                        if (task.Result.IsSuccessStatusCode)
                        {
                            Console.WriteLine("OK");
                        }
                        else
                        {
                            Console.WriteLine("NOT OK");
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
    
    
                Console.ReadKey();
            }
    
            public static async Task<HttpResponseMessage> PostJsonAsync(string jsonString)
            {
                if (jsonString is null)
                {
                    throw new ArgumentNullException("jsonString");
                }
                else
                {
                    using (var client = new HttpClient())
                    {
                        var postContext = new StringContent(jsonString, Encoding.UTF8, "application/json");
                        return await client.PostAsync("http://localhost:1234/", postContext);
                    }
                }
            }
        }
    
        [DataContract]
        public class LoginInformation
        {
            [DataMember]
            public string Email { get; set; }
            [DataMember]
            public string Password { get; set; }
            //add what you need
            public string ToJson()
            {
                using (var mS = new MemoryStream())
                {
                    var jS = new DataContractJsonSerializer(typeof(LoginInformation));
                    jS.WriteObject(mS, this);
                    return Encoding.UTF8.GetString(mS.ToArray(), 0, mS.ToArray().Length);
                }
            }
        }
    }
    


    quinta-feira, 23 de agosto de 2018 23:09