System.TypeInitializationException:“Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator”的类
Posted
技术标签:
【中文标题】System.TypeInitializationException:“Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator”的类型初始化程序引发异常【英文标题】:System.TypeInitializationException: The type initializer for 'Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator' threw an exception 【发布时间】:2018-09-01 08:51:14 【问题描述】:我正在尝试从 Dynamics 365 插件执行 S2S 身份验证,但目前未成功。出现以下异常:
System.TypeInitializationException: The type initializer for 'Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator' threw an exception
我的理解是,在加载 IdentityModel dll 时会引发异常,即使在运行时也不会。但是,如果这很重要,这就是我们在代码中所做的:
var clientCreds = new ClientCredential(clientId, secret);
AuthenticationContext authContext = new AuthenticationContext(authorityUri);
AuthenticationResult authResult = authContext.AcquireTokenAsync(resource, clientCreds).GetAwaiter().GetResult();
我们正在使用以下软件包:
相同的代码可以在控制台应用中使用。非常感谢任何帮助/建议。
【问题讨论】:
你想 S2S 做什么? 到 Azure 中的 Web api 服务 【参考方案1】:这可能是因为您在沙盒中运行。虽然 MSDN 没有明确建议不要这样做,但它建议您只连接到匿名服务。
Plug-in isolation, trusts, and statistics
沙盒中禁止访问文件系统、系统事件日志、某些网络协议、注册表等。
...
沙盒插件和自定义工作流活动可以访问 通过 HTTP 和 HTTPS 协议的网络....以下网页 访问限制适用于此沙盒功能。
支持并建议使用匿名身份验证。
【讨论】:
以上是关于System.TypeInitializationException:“Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator”的类的主要内容,如果未能解决你的问题,请参考以下文章