我正在按照here中的教程进行操作,并尝试使用Azure Ad启用OpenId Connect,这是我尝试添加到Startup.cs文件中的代码。
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddAzureAd(options => Configuration.Bind("AzureAd", options))
.AddCookie();
但是它的AddAzureAd
带有红色下划线,并显示以下错误消息:
“ AuthenticationBuilder”不包含“ AddAzureAd”的定义 并且没有可访问的扩展方法“ AddAzureAd”接受第一个 可以找到类型为“ AuthenticationBuilder”的参数(您是 缺少using指令或程序集引用?)
我尝试过的步骤:
但是它不能解决问题。谁知道导致这个的另一个原因是什么?
答案 0 :(得分:2)
我因为没有添加参考文献而感到愚蠢,却浪费了相同的时间。 这个问题的答案将是:
dotnet add package Microsoft.AspNetCore.Authentication.AzureAD.UI --version 2.2.0
请注意,您可能添加了与身份验证相关的另一参考,但没有添加遇到问题的参考。
答案 1 :(得分:0)
我必须在我的启动文件中添加一个using语句。
using Microsoft.AspNetCore.Authentication;
答案 2 :(得分:0)
就我而言,我必须:
在 *.cproj 中添加对 Microsoft.AspNetCore.Authentication.AzureAD.UI 的引用
在 Startup.cs 中添加 using Microsoft.AspNetCore.Authentication
使用.AddAzureAD(options => Configuration.Bind("AzureAd", options));
希望这对某人有所帮助,因为我浪费了半个小时。