Edit

Share via


Migrating applications to MSAL.NET or Microsoft.Identity.Web

Warning

Azure Active Directory Authentication Library (ADAL) has been deprecated. While existing apps that use ADAL will continue to work, Microsoft will no longer release security fixes on ADAL. Use the Microsoft Authentication Library (MSAL) to avoid putting your app's security at risk.

Why migrate

Azure AD Authentication Library for .NET (ADAL.NET) has been deprecated and no new features or bug fixes, including security bugs will be implemented. Application using ADAL will continue to work.

Migration guide for apps using ADAL directly

Before digging in the details of MSAL.NET vs ADAL.NET, you might want to check if you want to use MSAL.NET or a higher-level library like Microsoft.Identity.Web. For details about the decision tree below, read MSAL.NET or Microsoft.Identity.Web.

Migration guide for apps using ADAL indirectly

You might unknowingly consume ADAL dependencies from other SDKs. In other words, ADAL is a transitive depdendency. This still represents a risk to your application, as your application cannot upgrade ADAL to fix a potential security issue or to benefit from a security improvement.

To migrate, you first have to identify the root dependency that consumes ADAL. In most cases, the root dependency is itself deprecated. To identify the root dependency, you can get use Visual Studio nuget interface or the dotnet nuget why command

Below are the most common deprecated packages and their MSAL alternatives. For more detailed migration information, see AppAuthentication to Azure.Identity Migration Guidance and Migration guide links in the specific Azure SDK for .NET library pages.

Legacy Package (ADAL-dependent, deprecated) Supported Package (MSAL-dependent, current)
Microsoft.Azure.KeyVault Azure.Security.KeyVault.Secrets, Azure.Security.KeyVault.Keys, Azure.Security.KeyVault.Certificates
Microsoft.Azure.Management.Compute Azure.ResourceManager.Compute
Microsoft.Azure.Services.AppAuthentication Azure.Identity
Microsoft.Azure.Management.StorageSync Azure.ResourceManager.StorageSync
Microsoft.Azure.Management.Fluent Azure.ResourceManager
Microsoft.Azure.Management.EventGrid Azure.ResourceManager.EventGrid
Microsoft.Azure.Management.Automation Azure.ResourceManager.Automation
Microsoft.Azure.Management.Compute.Fluent Azure.ResourceManager.Compute
Microsoft.Azure.Management.MachineLearning.Fluent Azure.ResourceManager.MachineLearningCompute
Microsoft.Azure.Management.Media, windowsazure.mediaservices Azure.ResourceManager.Media
Microsoft.Kusto.Client Microsoft.Azure.Kusto.Data
Microsoft.Kusto.Ingest Microsoft.Azure.Kusto.Ingest

Next steps