Microsoft Authentication Library For Dotnet Versions Save

Microsoft Authentication Library (MSAL) for .NET

4.59.1

1 week ago

Bug Fixes

Updated Android webview attribute.

4.60.3

1 week ago

Bug Fixes

Updated Android webview attribute.

4.60.2

2 weeks ago

Bug Fixes

When OnBeforeTokenRequest extensibility API is used, MSAL now correctly uses the user-provided OnBeforeTokenRequestData.RequestUri to set the token request endpoint. See 4701.

4.60.1

3 weeks ago

Addressed an issue where attempts to acquire a token via certificate authentication resulted in a Microsoft.Identity.Client.MsalServiceException (Error code: AADSTS5002730), signaling an "Invalid JWT token. Unsupported key for the signing algorithm." This was due to a known bug in Microsoft Entra ID (Azure AD) that affects the handling of JWT tokens signed with certain algorithms, specifically SHA2 and PSS. See 4690

4.60.0

1 month ago

New Features

  • AAD client assertions are computed using SHA 256 and PSS padding. See 4428
  • CorrelationId is available in MsalException. See 4187
  • Open telemetry records telemetry for proactive token refresh background process. See 4492
  • MSAL.Net now supports generic authorities with query parameters. See 4631

Bug Fixes

  • MSAL.Net now logs an error when OBO is performed over common or organizations. See 4606
  • MSAL.Net now handles the v2.0 authorization endpoint. See 4416
  • Improved logging and error message when the web api received claims challenge. See 4496
  • Cloud shell error message from the managed identity endpoint is parsed correctly. See 4402
  • Improved error message when CCA certificate is disposed before MSAL can use it. See 4602
  • Client id is now accepted as a scope. See 4652

4.59.0

3 months ago

New Features

  • Removed support for deprecated Xamarin.Android 9 and Xamarin.Android 10 frameworks. MSAL.NET packages will no longer include monoandroid90 and monoandroid10.0 binaries and instead include monoandroid12.0. Xamarin.Android apps should now target framework version 12 (corresponding to Android API level 31) or above. See 3530.
  • Removed support for deprecated .NET 4.5 framework. MSAL.NET packages will no longer include net45 binary. Existing applications should target at least .NET 4.6.2. See 4314.

Bug Fixes

  • When public client apps persist cache data on Linux platforms, exceptions are now thrown, instead of just logged. This behavior is now consistent with Windows and Mac cache accessors. See 4493.
  • Downgraded System.Diagnostics.DiagnosticSource dependency to 6.0.1 from 7.0.2 to enable apps to run in .NET 6 in-process Azure Functions. Added extra checks to prevent crashing if OpenTelemetry dependencies cannot be used in the app's runtime. See 4456.
  • MSAL now throws MsalServiceException instead of MsalManagedIdentityException in managed identity flows. See 4483.
  • Background proactive token refresh operation can now be cancelled using the cancelation token passed into the parent acquire token call. See 4473.
  • Fixed SemaphoreFullException happening in managed identity flows. See 4472.
  • Improved exception messages when using non-RSA certificates. See 4407.
  • Fixed a scenario when the same tokens are cached under different cache keys when an identity provider sends scopes in a different order. See 4474.

4.58.1

4 months ago

New Features

  • Added WithForceRefresh support for silent flows using the Windows broker. See 4457.

Bug Fixes

  • Fixed a bug when a x-ms-pkeyauth HTTP header was incorrectly sent on Mac and Linux platforms. See 4445.
  • Fixed an issue with client capabilities and claims JSON not being merged correctly. See 4447.
  • MSAL can now be used in .NET 8 applications which use native AOT configuration binder source generator. See 4453.
  • Fixed an issue with sending an incorrect operating system descriptor in silent flows on Mac. See 4444.

4.58.0

4 months ago

New Features

  • Removed support for deprecated .NET 4.6.1 framework and added .NET 4.6.2 support. MSAL.NET packages will no longer include net461 binary. Existing .NET 4.6.1 apps will now reference .NET Standard 2.0 MSAL binary. See 4315.
  • MSAL.NET repository now supports Central Package Management. See 3434.
  • Added instrumentation to collect metrics with Open Telemetry. Aggregated metrics consist of successful and failed token acquisition calls, total request duration, duration in cache, and duration in a network call. See 4229.

Bug Fixes

  • Resolved the issue with dual-headed accounts that share the same UPN for both, Microsoft (MSA) and Microsoft Entra ID (Azure AD) accounts. See 4425.
  • MSAL now correctly falls back to use local cache if broker fails to return a result for AcquireTokenSilent calls. See 4395.
  • Fixed a bug when the cache level in the telemetry was not correctly set to L1 Cache when in-memory cache was used. See 4414.
  • Deprecated WithAuthority on the request builders. Set the authority on the application builders. Use WithTenantId or WithTenantIdFromAuthority on the request builder to update the tenant ID. See 4406.
  • Fixed an issue with the Windows broker dependencies when the app was targetting NativeAOT on Windows. See 4424.
  • Updated Microsoft.Identity.Client.NativeInterop reference to version 0.13.14, which includes bug fixes and stability improvements. See 4439.

4.57.0

6 months ago

New Features

  • Removed support for deprecated .NET Core 2.1 framework. MSAL.NET packages will no longer include netcoreapp2.1 binary. Existing .NET Core 2.1 apps will now reference .NET Standard 2.0 MSAL binary. See 4313.
  • Added additional logging in the cache. See 3957.
  • Removed unused HTTP telemetry data (x-client-info). See 4167.
  • Updated Microsoft.Identity.Client.NativeInterop reference to version 0.13.12, which includes bug fixes and stability improvements. See 4374.

Bug Fixes

  • Added simple retry logic for signing client assertions failures. See 4366.
  • Fixed inconsistencies in throwing exceptions for badly formatted authorities. Now MSAL will always throw an ArgumentException if an authority is in incorrect format (e.g., doesn't start with HTTPS, has spaces, etc.) See 4280.
  • Included missing Windows broker-related exception data when serializing MSAL exceptions. See 4371.
  • Fixed a crash when using managed identity and provided resource is null. See 4332.
  • Removed duplicate Windows broker logs. See 4353.

4.56.0

7 months ago

New Features

Bug Fixes

  • Added throttling logic for acquiring tokens for managed identity (using AcquireTokenForManagedIdentity and WithAppTokenProvider) to prevent the throttling exceptions thrown by the managed identity endpoints. See 4196.
  • Enabled cache synchronization by default. This helps to keep the cache consistent when a singleton confidential client application (CCA) is used with enabled external token cache serialization. The cache synchronization has a negligible performance effect when CCA is created per request. See 4268.
  • Fixed an authority validation error in interactive flows when an Active Directory Federation Services (ADFS) authority with a tenant ID was used. See 4272.
  • Added clarity to the Windows broker logs. See 4318.