Я сталкиваюсь с проблемой при попытке позвонить в нисходящий 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#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Parallelflux - параллельное выполнение с несколькими вызовами API вниз по течению
Anonymous » » в форуме JAVA - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-