我正在尝试按照本教程在.NET核心Web应用程序中进行Azure AD身份验证:
我得到这个错误:
找不到类型或名称空间名称'OpenIdConnectOptions'(您是否缺少using指令或程序集引用?)
我使用的是Linux,没有问题可以获取基本模板来生成和构建,该问题似乎出现在本教程说要添加以下行的地方:
services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
{
options.Authority = options.Authority + "/v2.0/";
options.TokenValidationParameters.ValidateIssuer = false;
});
我尝试添加软件包(半随机),例如:
Microsoft.IdentityModel.Protocols.OpenIdConnect
Microsoft.Owin.Security.OpenIdConnect
无济于事,因为错误仍然存在,我遇到了新的问题,例如:
错误:使用'.NETFramework,Version = v4.6.1'而不是项目目标框架'.NETCoreApp,Version = v2.1'恢复了软件包'Microsoft.Owin 4.0.0'。该软件包可能与您的项目不完全兼容。
我不确定是否缺少一些有关身份验证的基本知识,并且在Linux上运行.net core,我对此并不陌生,只是试图通过一个实际起作用的演示来推动工作发展:)
答案 0 :(得分:0)
我还没有在linux上检查过,但是您缺少的nuget包应该由ASP.NET Core通过以下项目生成:https://github.com/aspnet/AADIntegration。您是否尝试更新ASP.NET Core的最新nuget包?
作为一种解决方法,您可能需要看一下示例的以下分支(该分支仍具有现已移至ASP.NET Core AADIntegration的代码):https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master
答案 1 :(得分:0)
遇到了同样的问题。安装these模块后,它会编译。