Я использую IdentityServer4 в Azure и подключаю приложение Xamarin Forms к серверу.Когда я выполняю приведенный ниже код,
_result = await _client.LoginAsync(new LoginRequest());
я получаю следующую ошибку: InvalidOperationException: ошибка при загрузке документа обнаружения: произошла ошибка набора ключей Настройка:
Я создалУправляемый идентификатор для веб-приложения (приложение IdentityServer4).
Я также создал самозаверяющий сертификат в хранилище ключей Azure, а затем создал политику доступа, назначающую полный доступ к управляемой идентификации для ключей, секретов и сертификатов в хранилище ключей.
Когда вВ режиме отладки следующий код выполняется успешно, т.е. получение сертификата из хранилища ключей Azure:
private async Task<X509Certificate2> GetCertificate()
{
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
SecretBundle secret =
await keyVaultClient.GetSecretAsync("https://...");
var privateKeyBytes = Convert.FromBase64String(secret.Value);
return new X509Certificate2(privateKeyBytes, (string)null);
}
На этом этапе я вошел в Visual Studio 2019 с использованием моей учетной записи Microsoft, которая такжеглобальная административная учетная запись в моей учетной записи Azure.
Насколько я понимаю, мое веб-приложение работает под созданной учетной записью Managed Identity и поэтому должно иметь доступ к хранилищу ключей, и я подозреваю, что оно не работает.так, как я ожидаю.Есть идеи?