2

为什么如果我在自定义 DelegatingHandler 中将带有正确令牌的授权标头添加到没有此标头的请求中,我会收到响应:需要 401 授权?

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。 在此处输入图像描述

4

1 回答 1

0

我找到了答案。来自 OAuthBearerAuthenticationHandler.cs 类的 AuthenticateCoreAsync 方法在我的 ProxyHandler 之前被触发。在我将OAuthBearerAuthenticationOptions 中的AuthenticationMode从 Active 更改为 Passive后,在我的 ProxyHandler 方法 base.SendAsync(request, cancelToken) 被触发后,将检查标头中的请求令牌。

于 2015-09-15T08:24:12.297 回答