Я сталкиваюсь с проблемой при попытке позвонить в нисходящий API, обеспеченный Azure Entra из приложения Web API .NET 9, работающего на Azure Kubernetes Service (AKS). Пакет Microsoft.Identity.Web, в частности, AddDowstReamAPI и управляемые идентификационные функции, по -видимому, не удастся получить токен, что приводит к httpStatuscode: ошибка не основана из конечной точки управляемой идентификации. < /P>
merror Message < /strong>
exceptance handler handler wardlered unecementhadlops. Это InvalidoperationException, содержащее исходное исключение, было брошено, поскольку это часто происходит из -за неправильного исключения HandlingPath. Если обработчик исключений, ожидается, вернет 404 ответов на статус, установите AlluctStatusCode404Response на TRUE. IDW10109: Никакие учетные данные не могут быть загружены. Это может произойти, когда сертификаты, передаваемые в конфигурацию, истекли или не могут быть загружены, а код не работает на Azure, чтобы иметь возможность использовать управляемую идентичность, идентификацию стручков и т. Д.`builder
.AddConfiguration(applicationName);
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi()
.AddDownstreamApi("SecureApi", builder.Configuration.GetSection("SecureApi"))
.AddInMemoryTokenCaches();
var app = builder.Build();
app.UseServices();
await app.Initialize();
app.Run();
`
shrong> Appsettings.json
> {
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "Caller Application's managed Identity Client Id",
"TenantId": "My Tenant Id",
"ClientCredentials": [
{
"SourceType": "SignedAssertionFromManagedIdentity",
"ManagedIdentityClientId": "Caller Application's managed Identity Client Id"
}
]
},
"SecureApi": {
"BaseUrl": "base url"
"Scopes": [ "api://Secure API Client Id/.default" ]
},
}
код контроллера:
[HttpGet]
[Route("CallSecureAPI")]
public async Task CallSecureAPI()
{
var response = await _downstreamApi.CallApiForAppAsync("SecureApi", options =>
{
options.RelativePath = "Controller/Get";
options.HttpMethod = HttpMethod.Get.ToString();
});
return Ok(response);
}
< /code>
microsoft.identity.web библиотека
microsoft.identity.web
microsoft.identity.web версия
4.72.1 api api
apis apis shall down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down. Токен генерируется, и API вызывается без каких -либо проблем, поэтому Azure Entra и управляемая идентичность настроены правильно. < /p>
var _httpClient = new HttpClient();
var _apiScope = "api://scure api client Id/.default";
var _apiUrl = "url"
var credential = new DefaultAzureCredential();
var token = await credential.GetTokenAsync(new TokenRequestContext(new[] { _apiScope }));
_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Token);
var response = await _httpClient.GetAsync(_apiUrl);
Подробнее здесь: https://stackoverflow.com/questions/796 ... pplication
Отказ получения токенов с приложением API вниз по течению - .NET 9 AKS ⇐ C#
Место общения программистов C#
1749627343
Anonymous
Я сталкиваюсь с проблемой при попытке позвонить в нисходящий API, обеспеченный Azure Entra из приложения Web API .NET 9, работающего на Azure Kubernetes Service (AKS). Пакет Microsoft.Identity.Web, в частности, AddDowstReamAPI и управляемые идентификационные функции, по -видимому, не удастся получить токен, что приводит к httpStatuscode: ошибка не основана из конечной точки управляемой идентификации. < /P>
[b] merror Message < /strong>
exceptance handler handler wardlered unecementhadlops. Это InvalidoperationException, содержащее исходное исключение, было брошено, поскольку это часто происходит из -за неправильного исключения HandlingPath. Если обработчик исключений, ожидается, вернет 404 ответов на статус, установите AlluctStatusCode404Response на TRUE. IDW10109: Никакие учетные данные не могут быть загружены. Это может произойти, когда сертификаты, передаваемые в конфигурацию, истекли или не могут быть загружены, а код не работает на Azure, чтобы иметь возможность использовать управляемую идентичность, идентификацию стручков и т. Д.`builder
.AddConfiguration(applicationName);
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi()
.AddDownstreamApi("SecureApi", builder.Configuration.GetSection("SecureApi"))
.AddInMemoryTokenCaches();
var app = builder.Build();
app.UseServices();
await app.Initialize();
app.Run();
`
shrong> Appsettings.json[/b]
> {
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "Caller Application's managed Identity Client Id",
"TenantId": "My Tenant Id",
"ClientCredentials": [
{
"SourceType": "SignedAssertionFromManagedIdentity",
"ManagedIdentityClientId": "Caller Application's managed Identity Client Id"
}
]
},
"SecureApi": {
"BaseUrl": "base url"
"Scopes": [ "api://Secure API Client Id/.default" ]
},
}
[b] код контроллера: [/b]
[HttpGet]
[Route("CallSecureAPI")]
public async Task CallSecureAPI()
{
var response = await _downstreamApi.CallApiForAppAsync("SecureApi", options =>
{
options.RelativePath = "Controller/Get";
options.HttpMethod = HttpMethod.Get.ToString();
});
return Ok(response);
}
< /code>
microsoft.identity.web библиотека
microsoft.identity.web
microsoft.identity.web версия
4.72.1 api api
apis apis shall down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down down. Токен генерируется, и API вызывается без каких -либо проблем, поэтому Azure Entra и управляемая идентичность настроены правильно. < /p>
var _httpClient = new HttpClient();
var _apiScope = "api://scure api client Id/.default";
var _apiUrl = "url"
var credential = new DefaultAzureCredential();
var token = await credential.GetTokenAsync(new TokenRequestContext(new[] { _apiScope }));
_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Token);
var response = await _httpClient.GetAsync(_apiUrl);
Подробнее здесь: [url]https://stackoverflow.com/questions/79661573/token-acquisition-failure-with-downstream-api-net-9-aks-application[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия