ADAL 和 MSAL 混淆

问题描述

我的参考资料

据此,

从 2020 年 6 月 30 日起,我们将不再向 Azure Active Directory 身份验证库 (ADAL) 和 Azure AD 图形。我们将继续提供技术支持和保障 更新,但我们将不再提供功能更新。应用 将需要升级到 Microsoft 身份验证库 (MSAL) 和微软图形。了解详情

还有这个,

自 2022 年 6 月 30 日起,我们将终止对 ADAL 和 Azure AD 的支持 Graph 将不再提供技术支持或安全保障 更新。在此之后使用 Azure AD Graph 的应用将不再 接收来自 Azure AD Graph 终结点的响应。使用 ADAL 的应用程序 现有操作系统版本将在此时间后继续工作,但将 不会获得任何技术支持或安全更新。

this link

using Microsoft.IdentityModel.Clients.ActiveDirectory; // ADAL
using Microsoft.Identity.Client; // MSAL

ADAL 应替换为 MSAL。但是,我的项目没有引用上述任何一个库。

这些是我在项目中的参考资料。

Microsoft.IdentityModel.JsonWebTokens
Microsoft.IdentityModel.Protocols.OpenIdConnect
Microsoft.IdentityModel.Tokens
Microsoft.Owin
Microsoft.Owin.Security
Microsoft.Owin.Security.Cookies
Microsoft.Owin.Security.OpenIdConnect
Owin

问题

我对这个话题读得越多,我就越困惑,因为前一分钟我觉得 ADAL 只是授权而不是身份验证,而下一分钟我看到它被称为 ADAL 身份验证。我只想知道是否需要更新我的身份验证代码才能继续工作。

  • 由于我的项目不引用 Microsoft.IdentityModel.Clients.ActiveDirectory 并且仅使用 Azure AD 进行身份验证而不是授权,这是否意味着此更改不会影响我?
  • ADAL 和 MSAL 仅用于授权而不是正确的身份验证?如果是这样,他们为什么要引用 MSAL 和 Microsoft Graph,有什么区别?

解决方法

由于您没有使用任何一个库(Microsoft.IdentityModel.Clients.ActiveDirectoryMicrosoft.Identity.Client)并且您仅使用 Azure AD 进行身份验证,因此我认为此更改不会影响您的项目。

关于为什么他们引用 MSALMicrosoft Graph 而不是 ADALAzure AD Graph 的问题。事实上,两者是相似的,变化很小。您可以参考此document了解它们之间的区别。