Аутентификация работает. Вызов метод на моем API с использованием DownStreamapi.callaporuserasync также работает, но только если я установил OpenD Connect в качестве схемы автоза по умолчанию. , тогда я получаю ошибку < /p>
не может определить экземпляр облака. Предоставленная схема аутентификации была «». Microsoft.identity.web > Соответствующий код (с переменной и именами методов изменил) - Startup :
Код: Выделить всё
builder.Services.AddAuthentication(/*OpenIdConnectDefaults.AuthenticationScheme*/)
.AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi(
builder.Configuration.GetSection("X:Scopes").Get()
)
.AddInMemoryTokenCaches()
.AddDownstreamApi("X", builder.Configuration.GetSection("X"));
< /code>
Метод контроллера Вызовы API: < /p>
[Authorize(AuthenticationSchemes = OpenIdConnectDefaults.AuthenticationScheme)]
[AuthorizeForScopes(ScopeKeySection = "X:Scopes")]
public async Task GetSomething()
{
HttpResponseMessage response = await _downstreamApi.CallApiForUserAsync("X", options =>
{
options.RelativePath = "path/Something";
});
...
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... -authentic