Aspnetcore: 请考虑拆分 AzureAD 包以减少依赖性

创建于 2018-12-19  ·  3评论  ·  资料来源: dotnet/aspnetcore

我有一个轻量级的 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

谢谢。

area-security feature-AADIntegration

所有3条评论

关闭,因为没有计划对此进行任何更改。 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理解,但由于普遍缺乏需求,目前还没有计划,所以优先级太低了。

此页面是否有帮助?
0 / 5 - 0 等级