我有一个轻量级的 ASP.NET Core Web API 项目。 它没有前端,因此不需要与Microsoft.AspNetCore.Mvc
包捆绑在一起的大部分内容。 我通常可以使用Microsoft.AspNetCore.Mvc.Core
包代替。
除了我需要 AAD 身份验证,当我拉入Microsoft.AspNetCore.Authentication.AzureAD.UI
它需要Microsoft.AspNetCore.Mvc
作为依赖项...
查看代码,似乎包含了一些控制器和预编译的 Razor 视图,所以我理解为什么您需要完整的Mvc
包来支持这些。
如果你能从 UI 组件中分离出核心 AAD 身份验证,那就太好了,这样我们这些不需要 UI 的人就不需要依赖大 Mvc 包。 可能是这样的:
Microsoft.AspNetCore.Authentication.AzureAD.UI
Microsoft.AspNetCore.Mvc
Microsoft.AspNetCore.Authentication.AzureAD.Core
Microsoft.AspNetCore.Authentication.Cookies
Microsoft.AspNetCore.Authentication.JwtBearer
Microsoft.AspNetCore.Authentication.OpenIdConnect
谢谢。
关闭,因为没有计划对此进行任何更改。 UI 部分是此功能中的大部分内容,因此如果我们将其拆分,则几乎没有任何内容。
@Eilon - 如果没有 WebAPI 项目的 UI 视图,它仍然很有用。 在我们的,我有:
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options))
.AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
如果没有Microsoft.AspNetCore.Authentication.AzureAD.UI
包,我将如何做等效的事情?
为了解锁我的团队,我临时在本地复制了源代码并删除了 UI 组件。 它运行良好,但现在此代码在未来维护的带外。 如果它是这样自然建造的就好了。
@mj1856理解,但由于普遍缺乏需求,目前还没有计划,所以优先级太低了。