После двух недель борьбы мы нашли путь к Microsoft.Azure.Management.ApiManagement
Реализация dll.
1) Создайте приложение внутри лазурной рекламы
2) Перейдите на вкладку APIM => Контроль доступа (IAM)
3) Добавьте созданное выше приложение (для этого требуется разрешение в APIM)
4) Теперь вы должны увидеть приложение Azure AD на вкладке управления доступом (IAM) APIM
Это предоставит делегированное разрешение для вашего приложения, созданного в Azure AD
Мы можем использовать поток учетных данных клиента, чтобы получить токен делегированного доступа для Azure AD.
Используйте область как https://management.azure.com
Ниже приведен пример кода для реализации потока учетных данных клиента для Microsoft.Azure.Management.ApiManagement dll.
public class myServiceCredentials : ServiceClientCredentials{
private string AuthenticationToken { get; set; }
public override void InitializeServiceClient<T>(ServiceClient<T> client)
{
var authenticationContext = new
AuthenticationContext("https://login.windows.net/{tenantID}");
var credential = new ClientCredential(clientId: "xxxxx-xxxx-xx-xxxx-xxx",
clientSecret: "{clientSecret}");
var result = authenticationContext.AcquireToken(resource:
"https://management.core.windows.net/", clientCredential: credential);
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the JWT token");
}
AuthenticationToken = result.AccessToken;
}
}
Спасибо https://github.com/Azure/azure-sdk-for-net/issues/4727