Как использовать OAuth2 в RestSharp с использованием пароля grant_type - PullRequest
0 голосов
/ 19 февраля 2020

Я получаю 400 неверных запросов, но при использовании почтальона я могу сгенерировать токен. При проверке в фиддлере я вижу, что учетные данные передаются в {"ключ": "значение", "ключ": значение "}
, но при отправке запроса в почтальоне учетные данные передаются примерно так: ключ = значение, ключ = значение,

Также я думаю, что мне нужно добавить тип аутентификации Basi c Как мне это сделать?

[! [Введите описание изображения здесь] [1]] [1]

[! [Введите описание изображения здесь] [2]] [2]

Here is my Test method
[Test]
        [Obsolete]
        public void AuthenticationMechanism()
        {
            var client = new RestClient("http://examplegeneratetoken.com/");

            var request = new RestRequest("connect/token", Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddHeader("cache-Control", "no-cache");
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddHeader("content-ecoding", "gzip");

            request.AddBody(new {grant_type="password",username="exampleabc@email.com",password="pass",scope="abc",client_id="postapi",client_secret="abc123"});
            var response = client.ExecutePostTaskAsync(request).GetAwaiter().GetResult();
            var access_token = response.DeserializeResponse()["access_token"];

        }

Here is my deserilization method 

public static class Libraries
    {
        public static Dictionary<string, string> DeserializeResponse(this IRestResponse restResponse)
        {
            var JSONObj = new JsonDeserializer().Deserialize<Dictionary<string, string>>(restResponse);

            return JSONObj;
        }

    }


[1]: https://i.stack.imgur.com/zJLEA.png
[2]: https://i.stack.imgur.com/HQn3o.png
...