журнал отладки или ошибок для UseWindowsAzureActiveDirectoryBearerAuthentication на веб-сайте Azure?

У меня есть веб-API-сайт asp.net Azure, скажем, myapi.azuresites.net, и мой личный домен — myapi.mycompany.net. В моем веб-API я использую промежуточное ПО owin для проверки входящего токена.

app.UseWindowsAzureActiveDirectoryBearerAuthentication(
                new WindowsAzureActiveDirectoryBearerAuthenticationOptions
                {
                    Tenant = Constants.AzureActiveDirectoryTenant,
                    TokenValidationParameters = new TokenValidationParameters
                    {
                        ValidateAudience = true,
                        // These values will be checked against what is received in the access token.
                        ValidAudiences = Constants.AzureActiveDirectoryValidAudiences
                    },
                    Provider = new OAuthBearerAuthenticationProviderEx()
                });

Я зарегистрировал приложение в Azure AD и добавил секрет клиента.

  1. От почтальона я могу получить токен oauth2 из Azure AD с идентификатором приложения и секретом клиента.

  2. Я включил этот токен в заголовок и отправил его на мой лазурный веб-API.

  3. В моем коде используется промежуточное ПО owin для проверки токена.

  4. Если я отправлю запрос на myapi.mycompany.net, проверка токена сработает.

  5. Если я отправлю запрос на myapi.azuresites.net, проверка токена завершится ошибкой.

Я не могу понять, почему проверка токена не выполняется при непосредственном вызове лазурного сайта. Если я возьму файл web.config лазурного сайта на свой локальный компьютер, он тоже будет работать там. Я подозревал, что в моем приложении AD нет правильных URL-адресов перенаправления, но проверил это и не вижу очевидной проблемы.

Итак, есть ли способ зарегистрировать некоторую информацию о том, почему аутентификация не удалась? Поскольку это удаленный лазурный сайт, могу ли я перехватить этот сбой как исключение и удалить некоторые из них?


person daxu    schedule 02.03.2021    source источник
comment
так странно, я придумал способ добавить лог, но тогда аутентификация просто сработала   -  person daxu    schedule 02.03.2021
comment
Вы можете отправить свой измененный контент в качестве ответа, что может помочь большему количеству пользователей форума, столкнувшихся с похожими проблемами.   -  person Jason Pan    schedule 03.03.2021
comment
хорошо, я разместил то, что я нашел сейчас   -  person daxu    schedule 04.03.2021


Ответы (1)


Хотя я не уверен, почему моя аутентификация AD теперь работает, я нашел способ для регистрации ошибок авторизации для сайта Azure. В основном это будет регистрировать информацию о себе

<system.diagnostics>
    <trace autoflush="true"/>
    <sources>
      <source name="Microsoft.Owin">
        <listeners>
          <add name="KatanaListener"/>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="KatanaListener" 
type="System.Diagnostics.TextWriterTraceListener"
 initializeData="d:\home\logfiles\Katana.trace.log"
traceOutputOptions="ProcessId, DateTime"/>
    </sharedListeners>
    <switches>
      <add name="Microsoft.Owin" value="Verbose"/>
    </switches>
  </system.diagnostics> 
person daxu    schedule 03.03.2021