Я хочу использовать azure key vault в приложении winforms. Мне удалось добавить приложение в активный каталог Azure и создать секрет в ключевом хранилище с помощью powershell. приложение аутентифицируется, чтобы использовать секрет. К сожалению, я не могу использовать секрет в своем приложении winforms. Я получаю исключение:Azure Key Vault: sts_token_request_failed
* sts_token_request_failed: Ошибка токена для службы маркеров безопасности. Проверьте InnerException для получения более подробной информации.
InnerException: AADSTS70002: Ошибка проверки учетных данных. AADSTS50012:. Недопустимый клиент секрет предоставляется *
конфигурации:
<appSettings>
<add key="ClientId" value="<appId>" />
<add key="ClientSecret" value="<nameofsecret>" />
<add key="SecretUri" value="https://<vaultname>.vault.azure.net/secrets/<nameofsecret>" />
</appSettings>
Мой код:
public static string GetSecret()
{
var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetToken));
var sec = kv.GetSecretAsync(ConfigurationManager.AppSettings["SecretUri"]).Result.Value;
return sec;
}
public async static Task<string> GetToken(string authority, string resource, string scope)
{
var authContext = new AuthenticationContext(authority,true);
ClientCredential clientCred = new ClientCredential(ConfigurationManager.AppSettings["ClientId"],
ConfigurationManager.AppSettings["ClientSecret"]);
try
{
AuthenticationResult result = authContext.AcquireToken(resource, clientCred);
if (result == null)
throw new InvalidOperationException("Failed to obtain the JWT token");
return result.AccessToken;
}
catch (Exception ex)
{
return String.Empty;
}
}
ли я изменить что-нибудь в манифесте или в app.config ? Что такое секретное имя? Это имя тайны, созданной в powershell? В исходном клиентском приложении у меня нет вкладки «configure» в активном каталоге, чтобы добавить ключ. Возможно, это проблема?
Я уже думал, что это проблема. К сожалению, я не могу создать ключ в активном каталоге для приложения, потому что это невозможно для приложения winforms. нет возможности добавить ключ на странице активного каталога «configure». – purbsel