2015-09-14 10 views
2

Почему, если я добавляю заголовок авторизации с правом токеном в моем пользовательском делегировании на запрос без этого заголовка, я получаю ответ: требуется авторизация 401?Добавление заголовка авторизации BearerToken в DelegatingHandler API веб-интерфейса ASP.NET

public class ProxyHandler : DelegatingHandler 
{ 
    protected async override Task<HttpResponseMessage> SendAsync(
     HttpRequestMessage request, CancellationToken cancellationToken) 
    { 
     request.Headers.Add("Authorization", "Bearer rightToken..."); 
     return response = await base.SendAsync(request, cancellationToken); 
    } 
} 

Если я посылаю запрос от почтальона с тем же заголовком авторизации, я получил 200 OK. enter image description here

+0

Я не понимаю первый абзац. Возможно, вы можете перефразировать это как вопрос и сделать ваши предложения короче для лучшего понимания. – Matthias

+0

Извините, я попробую сделать это проще;) – paulka

+0

Можете ли вы также показать полный образец кода, который использует ваш 'DelegatingHandler'? –

ответ

0

Я нашел ответ. Метод AuthenticateCoreAsync из класса OAuthBearerAuthenticationHandler.cs был запущен перед моим ProxyHandler. После того как я изменил AuthenticationMode в OAuthBearerAuthenticationOptions от Активного пассивного запроса маркера в заголовке проверяются после вызова метода base.SendAsync (запрос, CancellationToken) от моего ProxyHandler обжигают.