ASP.NET Core 8 中身份验证的改进

2023-05-25 0 232

原副标题:ASP.NET Core 8 中加密的改良

(责任编辑写作天数:8两分钟)

ASP.NET Core 项目组已经开始改良 .NET 8 中的加密、许可和身分管理工作(泛称为“加密”)。捷伊 APIs将使自订使用者登入和身分管理工作新体验显得更为难。捷伊西北侧将在没内部倚赖的白眉林插件(SPA)中投入使用如前所述副本的加密和许可。他们还将改良他们的提示和文件格式,使辨认出和实行身分管理工作软件系统更为难。

大背景

在 ASP.NET Core 插件中投入使用加密的开发者遭遇着多种不同优先选择:

ASP.NET Core 提供更多了内建的 ASP.NET Core Identity 软件系统来管理工作使用者登入和许可。

Azure Active directory(Azure AD)是 Azure 云代销的软件系统,提供更多mammalian存取控制,并全力支持高阶情景,如“由插件代表者使用者”为 APIs许可天然资源。

以包、罐子和云服务的方式提供更多各式各样服务器端软件系统。

ASP.NET Core Identity 是他们分立的照相狸尾豆的软件系统。它主要包括:

Identity Manager 提供更多用作处置使用者(主要包括新闻稿和登入)和配角的 APIs

Identity Store 接口用作持久化标识信息(使用者、新闻稿、登入提供更多者和配角)。

关系数据库身分存储的默认实现。您可以优先选择创建自己的身分存储的自订实现。

加密系统(SignInManager)

使用者管理工作界面(Identity UI)

ASP.NET Core 8 中身份验证的改进

目前,在 SPA 插件中使用 ASP.NET Core Identity 存在一些限制。传统的自订身分相关页面的方式会迫使你的插件回归到服务器渲染的网页。他们依靠内部(服务器端)包来全力支持如前所述副本的加密。

他们已经听到了您的反馈,并已经开始研究一种软件系统,以全力支持更多的没内部倚赖项的狸尾豆情景。这使你可以灵活地马上开始使用一个软件系统,同时保持优先选择其他选项的自由。他们最近在 GitHub 上分享了他们的加密计划,得到了很多正面反馈,感谢有机会与这样一个全力支持他们的社区合作。

IdentityServer 和 SPA 模板

为了处置客户反馈,提供更多更多的选项并尽可能地简化,他们计划从 .NET 8 中的 SPA 模板中移除对 Duende 的 IdentityServer 的倚赖。

作为大背景,他们开始发布 IdentityServer4 以全力支持白眉林插件(SPA)中的 JSON Web Token(JWT)安全性,作为. NETCore 3.1 中 Angular、React 和 Blazor WebAssembly 模板的一部分。该项目当时是开源的。2020年,IdentityServer 项目维护者创建了 Duende,以全力支持他们努力发展 IdentityServer 并将其更改为商业许可。出于多种不同原因,他们优先选择在他们的模板中继续提供更多 IdentityServer,并在他们的模板中明确了许可要求。

对于自代销符合标准的 Open ID Connect OAuth 2.0 软件系统来说,IdentityServer 仍然是一个绝佳的优先选择。Duende 提供了他们自己的模板与 ASP.NET Core Identity 集成。除了 IdentityServer (如果您符合社区版的条件,它仍然是免费的)之外,还有许多其他自代销选项可用,主要包括开源的 OpenIddict项目和如前所述罐子的 Keycloak

他们相信这一改变将为您的插件优先选择正确的身分管理工作软件系统提供更多更多自由。

为了让您能更轻松地辨认出可用选项并从中进行优先选择,他们的模板将链接到一个文件格式页面,以阐明您的优先选择。该文件格式将列出并链接到模板、教程或示例,使您能够添加加密,无论是通过他们自己的服务(例如 Azure AD)还是服务器端产品(例如 Duende 的 IdentityServer)。

改良自代销软件系统的加密

许多使用者不希望或不需要维护 OAuth/OpenID Connect 服务器的复杂性和开销。您的插件只需要能够通过登入验证使用者身分并根据权限安全访问天然资源。自发布以来,ASP.NET Core 身分平台就内建了对如前所述配角的访问和简单身分管理工作的全力支持。当您在他们的模板中优先选择“个人帐户”选项进行加密或在命令行上使用 dotnet new 的 –auth 选项时,将投入使用自托管身分管理工作。您还可以在没身分的现有项目中搭建身分脚手架。Visual Studio 将构建所需代码以生成和维护使用者数据库并通过配角管理工作登入和权限。ASP.NET Core Identity 提供更多了一种照相狸尾豆的如前所述 cookie 的加密新体验。

他们听取了您的反馈,并确定了 ASP.NET Core 8 中需要改良的两个方面:

扩展现有的如前所述 cookie 的加密,以全力支持 SPA 插件中的自订

如前所述 cookie 的加密适用作较小的单域软件系统。要自订新体验,您必须覆盖他们用作呈现身分管理工作 UI 的默认服务器呈现的身分页面。当客户从白眉林 web 插件新体验过渡到服务器呈现的新体验时,这会导致不一致的新体验。该项目组将添加 API 西北侧,使开发者能够在自订 UI 中使用白眉林插件新体验。

使现有身分现代化以全力支持如前所述副本的加密

React、Angular 和 Blazor WebAssembly 等 SPA 插件框架的应用和功能不断增长。尽管他们现有的如前所述 cookie 的软件系统有效,但行业已经发展了,如今如前所述副本的加密软件系统更为灵活,而这正是全力支持加密的 SPA 插件所需要的。他们有许多使用者需要一个不需要服务器端倚赖项或许可的简单软件系统。他们计划扩展现有的身分平台以投入使用如前所述副本的加密。这将主要反映现有如前所述 cookie 的软件系统的能力和功能,并将加密数据封装在副本而不是 cookie 中,并使其能够在 cookie 不是最佳或不合适的情况下工作。

ASP.NET Core 8 中身份验证的改进

值得注意的是,SPA 相关的增强针对的是在单个域上运行的软件系统,并且不需要对云天然资源或服务器端 APIs 进行加密。对于有这些需求的插件,Azure AD、IdentityServer 或其他服务器端软件系统是首选。

更难探索和学习

他们现有的文件格式涵盖了像 ASP.NET Core Identity、Microsoft Identity 平台和 Azure AD 等功能。大多数的现有文件格式侧重于产品、技术和功能。.NET 8 的目标是让您有一个单一的起点来学习 .NETAuth 文件格式的可用选项,它整合了全力支持教程和示例的链接,更重要的是提供更多了具体的指导。例如,与具有数据库后端、服务器端安全API倚赖项和社交登入的业务插件相比,没内部倚赖项的分立 SPA 插件具有不同的需求。他们将与客户合作,确定常见的情景,如“保护现有 API 西北侧”,并提供更多涵盖这些需求的端到端文件格式。

与此同时,Microsoft Entra 已经开始与 .NET项目组进行密切合作,不仅提供更多了更好的文件格式和示例,而且还改进了客户端、SDKs 和工具,以减少将 Azure AD 成功添加到插件所需的步骤、代码、配置和概念。

下一步

他们已经开始改变的过程中。在此期间,欢迎您提供更多反馈和意见,以帮助为每个人提供更多更好的加密。您可以通过在 GitHub 提交 issue 来描述您的问题,或对现有问题进行投票来帮助他们优先考虑影响最大的问题。也欢迎针对他们的 ASP.NET Core 文件格式提出问题和拉取请求。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务