Releases: AzureAD/microsoft-authentication-library-for-dotnet
Releases · AzureAD/microsoft-authentication-library-for-dotnet
4.61.1
New Features
- Enabled Proof of Possession (POP) extensibility API for all confidential client requests, enhancing security measures for confidential clients. See 4757
- Introduced a public API that identifies and returns the current Azure environment for Managed Identity. See 4751
- Deprecated the WithClientAssertion(string) method. Developers are encouraged to use the overload with Func<AssertionRequestOptions, Task> instead, which ensures the return of a non-expired assertion, potentially including a Federated Credential. See 4775
- Adding support for Non-GUID Client IDs with AuthorityType.Generic See #4686
Bug Fixes
- Improved logic to handle ADFS tokens that include a manually added tid claim, preventing exceptions. See 4608
- Improved build-time validation to ensure that applications using the WithBroker(true) method will fail at build time if the application targets net6-windows and uses an old broker API. This change prevents runtime failures and facilitates early detection of issues. See 4768
- Fixed token acquisition failure in broker based flow when authority is common. See 4696
4.61.0
4.61.0
New Features
- Removed support for deprecated frameworks, Xamarin.Android 12 and Xamarin.iOS 10. MSAL.NET packages will no longer include
monoandroid12.0
andxamarinios10
binaries. Existing applications should migrate to modern frameworks like .NET MAUI. See 4715 and Announcing the Upcoming Deprecation of MSAL.NET for Xamarin and UWP. - Removed support for UWP. MSAL.NET packages will no longer include
uap10.0.17763
binary. Existing applications should migrate to modern frameworks like WinUI 3. See 4717 and Announcing the Upcoming Deprecation of MSAL.NET for Xamarin and UWP. - Removed Windows Forms dependency from
Microsoft.Identity.Client
, which will no longer includenet6.0-windows7.0
binary. Existing desktop applications targetingnet6.0-windows
should referenceMicrosoft.Identity.Client.Broker
when using interactive authentication with Windows Broker and callWithBroker(BrokerOptions)
; or referenceMicrosoft.Identity.Client.Desktop
when authenticating with browser and callWithWindowsEmbeddedBrowserSupport()
. There are no changes to the usage of the system browser. See 4468. - Re-enabled the use of SHA 256 and PSS padding to create client assertions. See 4695.
Bug Fixes
- Public methods in Kerberos
TicketCacheWriter
andTicketCacheReader
were corrected to be internal. Public API inKerberosSupplementalTicketManager
should be used. See #4726.
4.60.3
4.59.1
4.60.2
4.60.1
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
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
New Features
- Removed support for deprecated Xamarin.Android 9 and Xamarin.Android 10 frameworks. MSAL.NET packages will no longer include
monoandroid90
andmonoandroid10.0
binaries and instead includemonoandroid12.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 ofMsalManagedIdentityException
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
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
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. UseWithTenantId
orWithTenantIdFromAuthority
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.