gpt4 book ai didi

adal - 'Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator' 的类型初始化程序引发异常

转载 作者:行者123 更新时间:2023-12-03 23:50:44 25 4
gpt4 key购买 nike

使用 OpenId Connect 中间件 (dnxcore50; 1.0.0-beta6-* coreclr x64) 处理 AAD SSO ...

app.UseCookieAuthentication(options => { options.AutomaticAuthentication = true; });
app.UseOpenIdConnectAuthentication(options => {
options.ClientId = ClientId;
options.Authority = Authority;
options.PostLogoutRedirectUri = PostLogoutRedirectUri;
options.AutomaticAuthentication = true;
options.SecurityTokenValidators = new[] { new UnsafeJwtSecurityTokenHandler() };
options.Notifications = new OpenIdConnectAuthenticationNotifications {
AuthenticationFailed = OnAuthenticationFailed,
AuthorizationCodeReceived = OnAuthorizationCodeReceived
};
});

OnAuthorizationCodeReceived 中,以这种方式获取 Graph API 的上下文...

string userObjectId = notification.AuthenticationTicket.Principal.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
ClientCredential credential = new ClientCredential(ClientId, AppKey);
AuthenticationContext authContext = new AuthenticationContext(Authority);
AuthenticationResult result = await authContext.AcquireTokenByAuthorizationCodeAsync(notification.Code, new Uri(BaseAddress), credential, "https://graph.windows.net");

适用于 dnx451 1.0.0-beta4 clr x86,但不适用于 dnxcore50 1.0.0-beta6-* coreclr x64

The type initializer for 'Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator' threw an exception.

ClientId、AppKey、Authority、notification.Code 和 BaseAddres 的值应该没问题……它们在两个运行时之间没有改变。依赖是...

"Microsoft.IdentityModel.Protocol.Extensions": "2.0.0-*",
"Microsoft.AspNet.Mvc": "6.0.0-*",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-*",
"Microsoft.AspNet.Diagnostics": "1.0.0-*",
"Microsoft.AspNet.Server.IIS": "1.0.0-*",
"Microsoft.AspNet.StaticFiles": "1.0.0-*",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-*",
"Microsoft.IdentityModel.Clients.ActiveDirectory": "3.1.203031538-alpha",
"Microsoft.Framework.ConfigurationModel": "1.0.0-*",
"Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-*",
"Microsoft.AspNet.Identity": "3.0.0-*",
"Microsoft.AspNet.Http": "1.0.0-*"

我也在 AzureAD/azure-activedirectory-library-for-dotnet 发帖,但答案似乎慢慢地到达那里。如果在这里回答,我会在那里更新+关闭。

最佳答案

我也遇到这个问题,我的场景是我在库项目中引用了这个包,然后我在控制台应用程序中调用该方法,然后控制台应用程序会抛出这个异常。

查看控制台应用的debug文件夹,发现漏掉了

Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll

所以解决方法是我也在控制台应用程序中引用这个包。

关于adal - 'Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator' 的类型初始化程序引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30851308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com