Я пытаюсь программно создать несколько виртуальных машин для нескольких подписок. Поэтому мне нужно перечислить все подписки, к которым я могу получить доступ. Но я не могу предоставить разрешения зарегистрированному приложению, поэтому мне приходится использовать собственные учетные данные Azure.
Затем я попытался
var subscriptionClient = new Microsoft.Azure.Management.ResourceManager.Fluent.SubscriptionClient(new DefaultAzureCredential());
а также
var subscriptionClient = new Microsoft.Azure.Management.ResourceManager.Fluent.SubscriptionClient(new UserPasswordCredential(username,password));
но ни один из них не компилируется.
Ответ на вопрос Как составить список подписок с помощью Microsoft.Azure.ResourceManager? почти ответ на мой вопрос, но я не могу добавить комментарий, чтобы задать больше вопросов об этом.
Я установил Microsoft.IdentityModel.Clients.ActiveDirectory версии 3.13.2.870 и попробовал:
var ctx = new AuthenticationContext("https://login.microsoftonline.com/common");
но у ctx нет AcquireToken, у него есть только AcquireTokenAsync. К сожалению, следующий код все еще не работает
var mainAuthRes = await context.AcquireTokenAsync(m_resource, m_clientId, new Uri(m_redirectURI), PromptBehavior.Always);
Компилятор говорит, что четвертый параметр неверен, что означает
context.AcquireTokenAsync(string resource, string client , Uri uri , PromptBehavior promptBehavior )
не является допустимым методом.
Есть ли способ перечислить подписки с моими текущими учетными данными Azure (без регистрации приложения) с помощью С#?
but all failed
,still doesn't work
? Они бесполезны. - person Joy Wang   schedule 19.01.2021