У меня есть запасной файл |новый |веб |Шаблон основного веб-API-интерфейса asp.net, в котором я выбрал аутентификацию AzureAD, сгенерировавшую следующий файл Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)
.AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
и следующий appsettings.json
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "mymsdn.onmicrosoft.com",
"TenantId": "<my azuread tenant id>",
"ClientId": "<my azuread web app id>"
}
Я использую почтальон дляприобретите токен, используя настройку общедоступного приложения-профиля клиента, как я сделал для другой настройки веб-API, которая работает, как и ожидалось, с тем же кодом авторизации токена канала-носителя AzureAd и координатами настроек.
По некоторым причинам это приложение пытаетсяутвердите неверный формат эмитента токена, и я не знаю, как его исправить.
Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler:Information: AzureADJwtBearer was not authenticated. Failure message: IDX10205: Issuer validation failed. Issuer: 'https://login.microsoftonline.com/<my azuread tenantid>/v2.0'. Did not match: validationParameters.ValidIssuer: 'null' or validationParameters.ValidIssuers: 'https://sts.windows.net/<my azuread tenantid>/'.