Следует ли использовать идентификаторы управляемых служб для доступа к службе приложений Azure из консольного приложения - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть консольное приложение, работающее на нашем предприятии, которому необходимо получить доступ как веб-API службы приложений. Каков наилучший способ обработки аутентификации. Я попытался зарегистрировать приложение в AD, но все равно кажется, что он не видит службу приложений. Я попробовал следующий код, но я не уверен, что это даже правильный API для использования.

var App = ConfidentialClientApplicationBuilder.Create(CoreConstants.Auth_ClientId)
.WithAuthority(CoreConstants.Auth_Authority)
                .WithClientSecret("xxxxxxxxxxxxxx")
                .Build();

var token =  App.AcquireTokenForClient(scopes).ExecuteAsync();
token.Wait();

Это не означает, что область действия не определена. Похоже, что это в Azure.

1 Ответ

0 голосов
/ 22 апреля 2019

Прежде всего, вам необходимо создать назначения ролей для вашего удостоверения приложения. И тогда вы можете получить токены доступа от личности. Код понравится:

using Microsoft.Azure.Services.AppAuthentication;
using Microsoft.Azure.KeyVault;
// ...
var azureServiceTokenProvider = new AzureServiceTokenProvider();
string accessToken = await azureServiceTokenProvider.GetAccessTokenAsync("https://vault.azure.net");
// OR
var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));

Не забудьте добавить ссылки на Microsoft.Azure.Services.AppAuthentication и любые другие необходимые пакеты NuGet в ваше приложение. Подробнее см. Получение токенов для ресурсов Azure с помощью приложения MSI .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...