System.TypeInitializationException: инициализатор типа для "Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator" вызвал исключение
Я пытаюсь выполнить аутентификацию S2S с помощью плагина Dynamics 365, но пока безуспешно. Возникает следующее исключение:
System.TypeInitializationException: The type initializer for 'Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator' threw an exception
Насколько я понимаю, исключение выдается во время загрузки DLL IdentityModel, даже во время выполнения. Однако, если это имеет значение, вот что мы делаем в коде:
var clientCreds = new ClientCredential(clientId, secret);
AuthenticationContext authContext = new AuthenticationContext(authorityUri);
AuthenticationResult authResult = authContext.AcquireTokenAsync(resource, clientCreds).GetAwaiter().GetResult();
Мы используем следующие пакеты:
Тот же код работает в консольном приложении. Любая помощь / предложения очень ценятся.
1 ответ
Это может быть потому, что вы работаете в песочнице. Несмотря на то, что MSDN не дает подробных разъяснений, он рекомендует подключаться только к анонимным службам.
Изоляция плагинов, трасты и статистика
Доступ к файловой системе, журналу системных событий, определенным сетевым протоколам, реестру и многому другому запрещен в песочнице.
...
Подключаемые модули для изолированной программной среды и пользовательские рабочие процессы могут получать доступ к сети через протоколы HTTP и HTTPS.... К этой возможности изолированной программной среды применяются следующие ограничения веб-доступа.
- Анонимная аутентификация поддерживается и рекомендуется.