Не проходит проверку подлинности с помощью AzureTokenServiceProvider - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь использовать идентификатор управляемой службы для службы приложений в Azure с моим веб-приложением ASP.NET Core 3.0.
Так что для локальной разработки я хочу иметь бесшовную интеграцию. Как документ , документированный Microsoft , я попытался использовать учетную запись разработчика VS для проверки подлинности и настроил эту учетную запись, поскольку это не сработало. Я установил интерфейс командной строки Azure, прошел проверку подлинности и убедился, что токен возвращен с использованием * 1004. *.

При отладке (напрямую с помощью dotnet, без использования IIS Express) всегда отображается, что я не аутентифицирован. (_tokenProvider.PrincipalUsed всегда null, и, очевидно, запрос KeyVault Secret не выполняется из-за этого).

1 Ответ

0 голосов
/ 14 октября 2019

Должно работать, попробуйте выйти из вашей учетной записи в VS и войти снова.

Также убедитесь, что ваша учетная запись пользователя находится в Access policies вашего keyvault на портале с правильным разрешением.

Затем попробуйте код ниже, чтобы получить секрет.

static void Main(string[] args)
        {
            var azureServiceTokenProvider1 = new AzureServiceTokenProvider();
            var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider1.KeyVaultTokenCallback));
            var secret = kv.GetSecretAsync("https://<keyvault-name>.vault.azure.net/", "<secret-name>").GetAwaiter().GetResult();
            Console.WriteLine(secret);
        }
...