Azure Хранилище ключей: AADSTS700024:. NET Ядро, Linux Контейнер. Утверждение клиента находится за пределами допустимого диапазона времени - PullRequest
0 голосов
/ 11 марта 2020

У меня возникли проблемы с подключением к Azure Key Vault из ASP. NET Базовое приложение, работающее внутри docker контейнера.

Приложение использует clientID / Certificate для аутентификации с помощью хранилище. Я зарегистрировал приложение и дал ему разрешение на использование хранилища.

Когда я запускаю приложение внутри docker, я получаю эту ошибку:

Необработанное исключение. Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException: AADSTS700024: утверждение клиента находится за пределами допустимого диапазона времени. Текущее время: 2020-03-11T00: 06: 34.4692395Z, срок действия подтверждения 2020-03-10T11: 40: 33.0000000Z.

NuGet: Microsoft.Extensions.Configuration.AzureKeyVault v3.1.2
Nuget: Microsoft.Azure.KeyVault v.3.0.5
NuGet: Microsoft.Azure.Services.AppAuthentication v1.0.3
NuGet: Microsoft.IdentityModel.Clients.ActiveDirectory v3.14.2

Вот как хранилище сконфигурировано внутри ConfigureAppConfiguration

X509Certificate2Collection collection = new X509Certificate2Collection();
collection.Import(path, pwd, X509KeyStorageFlags.PersistKeySet);

var cert = collection[0];

config.AddAzureKeyVault(
                         vault,
                         clientId: builtConfig["ApplicationId"],
                         certificate: cert);

1 Ответ

1 голос
/ 11 марта 2020

Похоже, что время в docker контейнере не синхронизировано. И некоторые aps. net изображения имеют эту проблему: 3168

Вы можете проверить часовой пояс и дату по:

# Replace the image with yours
docker run -it mcr.microsoft.com/dotnet/framework/runtime:4.7.2-windowsservercore-1803 powershell

# Then check timezone and date in powershell 

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