Использование asp.net ядро, как просматривать (регистрировать) связь по обратному каналу для OAuth2

#c# #asp.net-core #logging #oauth-2.0

Вопрос:

Я могу просматривать связь по переднему каналу с помощью инструментов разработчика браузера, но как можно просматривать или регистрировать связь по заднему каналу, чтобы получить представление о потоке?

В частности, я хочу видеть http-трафик при обмене кода авторизации на токены.

До сих пор я безуспешно пытался:

  1. Добавлено в AppSettings.json: «System.Net.Http.HttpClient»: «Отладка»
  2. Добавлено в Program.cs: ConfigureLogging(x => x.AddConsole())
  3. Добавлено в Startup.cs: app.UseHttpLogging (по-видимому, доступно в .net 6 preview 4)

Спасибо.

Комментарии:

1. Возможно , вам потребуется увеличить его до Trace уровней, чтобы просмотреть сведения самого низкого уровня, поскольку такие вещи, как токены OAuth, по умолчанию не регистрируются, поскольку они содержат конфиденциальную информацию.

2. В дополнение к тому, что сказал @MartinCostello, включите ведение журнала PII IdentityModelEventSource.ShowPII = true; (для разработки)

Ответ №1:

Спасибо @abdusco и @Martin. Используя указатели, которые вы дали, я смог найти больше информации.

В интересах других, вот фрагмент кода для добавления при запуске::Configure() и источник в качестве ссылки:

 IdentityModelEventSource.Logger.LogLevel = EventLevel.Verbose;
IdentityModelEventSource.ShowPII = true;
var listener = new TextWriterEventListener(new StreamWriter(Console.OpenStandardOutput())
{
    AutoFlush = true,
});
listener.EnableEvents(IdentityModelEventSource.Logger, EventLevel.LogAlways);
 

Ссылка: https://gist.github.com/jorrit/0712ed32534b45ccca393e4c86b08526