Клиент Simple.Odata, использующий аутентификацию windows

Можно ли использовать Simple Odata Client для запроса моего сервиса Odata (размещенного на Asp.Net MVC) с использованием аутентификации Windows?

Простой клиент Odata требует учетных данных:

public ODataClient(ODataClientSettings settings);
public ODataClientSettings(Uri baseUri, ICredentials credentials = null);

И единственный пример, который я нашел, основан на newtworkCredentials: https://github.com/object/Simple.OData.Client/blob/master/Simple.OData.Client.IntegrationTests/WebApiTests.cs

public class WebApiWithAuthenticationTests : WebApiTestsBase
{
    private const string _user = "tester";
    private const string _password = "tester123";

    public WebApiWithAuthenticationTests()
        : base(new ODataClientSettings()
        {
            BaseUri = new Uri("http://va-odata-integration.azurewebsites.net/odata/secure"), 
            Credentials = new NetworkCredential(_user, _password)
        })
    {
    }
}

1 ответ

Решение

Попробуйте использовать CredentialCache.DefaultCredentials свойство как это

public class WebApiWithAuthenticationTests : WebApiTestsBase
{    
    public WebApiWithAuthenticationTests()
        : base(new ODataClientSettings()
        {
            BaseUri = new Uri("http://va-odata-integration.azurewebsites.net/odata/secure"), 
            Credentials = CredentialCache.DefaultCredentials
        })
    {
    }
}
Другие вопросы по тегам