【发布时间】:2021-03-06 08:24:44
【问题描述】:
我正在使用带有 Azure AD 身份验证的 ASP.NET Core 5。
我创建了一个新的模板 Web 应用,并使用 Azure AD 登录和注销,效果很好。
但是,当我将 Startup.cs 和 appsettings.json 中的相关代码从模板 Web 应用程序复制到另一个 Web 应用程序时,当我单击指向 /MicrosoftIdentity/Account/SignOut 的注销链接时收到 400 错误响应
["The scheme field is required."]
在Startup.cs,我添加了:
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
和
services.AddRazorPages()
.AddMicrosoftIdentityUI();
我比较了模板 Web 应用程序中有效的请求和其他无效的 Web 应用程序中的请求,我看不出与 /MicrosoftIdentity/Account/SignOut 的请求标头有任何区别。
我错过了什么“计划”?
【问题讨论】:
-
有趣。 :) 并且没有异常记录有有用的堆栈跟踪?因为错误消息似乎表明某个输入模型的
scheme属性不满足RequiredAttribute,所以验证失败,这将进一步表明未执行使用该模型的某些操作。
标签: asp.net-core authentication azure-active-directory microsoft-identity-web