Для любых учетных данных, заданных с помощью заголовка, такого как basic или oauth, вы можете использовать методы заголовков. Пример oauth2 однонаправленного знак:
dynamic client = new RestClient("http://localhost/");
client
.Headers(new { Authorization = "Bearer " + bearerToken })
.MyResource
.Get();
Если вы говорите или NTLM Kerberos в данный момент не существует никакого способа сделать это, но, как вы предложили вы можете реализовать IHttpClientWrapper, чтобы сделать это. Странно Credentials передаются HttpClient с использованием HttpClientHandler. Ниже приведен пример того, как сделать это:
HttpClientHandler handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential();
HttpClient client = new HttpClient(handler);
Я понимаю реализации IHttpClientWrapper просто сделать это не является идеальным, так что если вам нужна эта функциональность, я буду смотреть на добавление его в CTOR. Это будет выглядеть следующим образом:
HttpClientHandler handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential();
new RestClient("http://localhost/", new Config(handler));
Update это теперь поддерживается в 3,0
Спасибо за чтение моего ума о Kerberos и NTLM, потому что да, это то, что я имел в виду, когда я сказал, сеть учетных данных. Было бы неплохо, если бы это было обработано путем создания «RestClient» с HttpHandler с идентификационной информацией в нем. Я создал [проблему на GitHub] (https://github.com/DalSoft/DalSoft.RestClient/issues/14), чтобы запросить добавление этой функции, как указано выше. – ahsteele
Спасибо @ahsteele Я реализовал эту функцию. – DalSoft