Как установить http-заголовок User-Agent для авторизации Auth0 для связи через прокси - PullRequest
1 голос
/ 14 октября 2019

Мы настраиваем новое веб-приложение Asp.Net Core 3.0. При аутентификации с использованием Auth0 для этого WebApp приложение пытается получить доступ к .eu.auth0.com с помощью HTTP GET. Чтобы попасть на этот сайт через наш корпоративный прокси-сервер, приложению необходимо отправить http-заголовок User-Agent.

Я пытался добавить пользовательский Http-Message-Handler, который добавляет этот заголовок ко всем запросам авторизации. Backend.

public class CustomHttpMessageHandler : DelegatingHandler {

    public CustomHttpMessageHandler() {
        InnerHandler = new HttpClientHandler();
    }

    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) {
        request.Headers.Add("User-Agent", "myApp/0.1.0");

        return await base.SendAsync(request, cancellationToken);
    }
}

Этот обработчик устанавливается в Startup.ConfigureServices ():

services.AddAuthentication(options => {
       options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
       options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;

}).AddJwtBearer(options => {
       options.SaveToken = true;
       options.Authority = domain;
       options.Audience = Configuration["Auth0:ApiIdentifier"];
       options.BackchannelHttpHandler = new CustomHttpMessageHandler();
});

При отладке этот код запускается и добавляет агента пользователя в запрос. Проблема здесь в том, что приложение отправляет (до GET) HTTP-запрос ОПЦИИ на .eu.auth0.com, который я не могу изменить.

Есть ли способ установить этот Http-заголовок дляпромежуточное ПО авторизации? Или даже глобально? Или я могу предоставить им целый собственный Http-клиент?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...