Releases: AzureAD/microsoft-authentication-library-for-dotnet
Releases · AzureAD/microsoft-authentication-library-for-dotnet
4.53.0
4.52.0
New Features
- The improved experience using Windows broker (WAM) is now generally available for all desktop platforms, except UWP. See 3375, 3447.
- Acquiring Proof-of-Possession tokens on public desktop clients using WAM broker is now generally available. See 3992.
- The requirement for a specific Windows SDK version on .NET 6 platform has been removed, which should improve the package usage on .NET 6 platforms. MSAL.NET now targets a more general
net6.0-windows
instead ofnet6.0-windows10.0.17763.0
. See 3986. - Added support for non-Azure AD IdP's in client credential flows. Use
WithGenericAuthority(authority)
. This is still an experimental API and may change in the future. See 4047, 1538. - Added
AuthenticationResult.AdditionalResponseParameters
property bag with any extra parameters from the AAD response. This collection will also havespa_accountId
parameter which can be used in brokered hybrid single-page application (SPA) scenarios. See 3994.
4.51.0
New Features
- Simplified managed identity API. Use
ManagedIdentityApplicationBuilder
to create aIManagedIdentityApplication
and callAcquireTokenForManagedIdentity
. See 3970 and wiki. - Added
StopLongRunningProcessInWebApiAsync
which allows to remove cached tokens based on a long-running OBO key. See 3346 and wiki.
Bug Fixes
InitiateLongRunningProcessInWebApi
will now always acquire new tokens from AAD without checking the token cache first. See 3825.- When using preview Windows broker, MSAL will correctly handle the transitive reference to Microsoft.Identity.Client.NativeInterop. Any explicit references to Microsoft.Identity.Client.NativeInterop in projects also referencing MSAL should be removed. See 3964.
- Fixed preview Windows broker throwing a signed out exception when calling
AcquireTokenSilent
after acquiring token using the Username/Password flow. See 3916 and See 3961.
4.50.0
New Features
- Extended managed identity experimental functionality with support for Azure Cloud Shell. See 3832.
- Added support for PII logging for WAM preview. See 3845, 3822.
Bug Fixes
- Fixed JSON serialization issues for apps running on .NET 7. See 3892.
- Improved logging performance to only create logs when a specified log level is enabled. See 3901.
- Fixed
Unable to load DLL 'msalruntime'
exception for apps that use WAM preview and are packaged as MSIX. See 3740. - WAM preview now honors the login hint. See 3301 and WAM docs.
- WAM preview now allows to sign in with an account different from the provided login hint. See 3929.
- Fixed an
ApiContractViolation
exception in WAM preview when signing out. See 3685. - MSAL now allows passing no scopes when using WAM preview. See 3675.
- When broker is enabled, MSAL will now use the refresh token from the broker instead of a locally cached one. See 3613.
- Added a more descriptive error message when combined flat user and app cache is used. Use a partitioned token cache (for ex. distributed cache like Redis) or separate files for app and user token caches. See 3218.
- Updated logs to clarify that managed identity correlation ID differs from MSAL one. See #3908.
- Fixed an occasional cryptographic exception by removing the RSA public key size check - AAD is better suited to handle this verification. See 3896.
- Fixed JSON parsing errors when receiving an error token response. See 3883.
- Added better error handling when receiving WS-Trust responses. See 3614.
WithAuthority
methods on the request builders are hidden. Use eitherWithTenantId
on the request builders orWithAuthority
only on the application builder. See #2929.- Deprecated
IsBrokerAvailable
method on mobile platforms. Applications should rely on the library automatically falling back to a browser if the broker is not available. See 3320. - Deprecated unused extended expiry API. See 1377.
4.49.1
New Features
- Extended managed identity experimental functionality with support for Azure Arc. See 3862
Bug Fixes
4.49.0
New Features
- MSAL will now use
<region>.login.microsoft.com
when using regional ESTS-R for public cloud. See 3252 - Added support for acquiring Work and School accounts when calling
GetAccounts
using the new Broker preview. See 3458 - Added the ability to disable Instance Discovery/Authority validation using
WithInstanceDiscovery(bool enableInstanceDiscovery)
. See 3775 - Added new APIs to acquire authentication data from WWW-Authenticate and Authentication-Info request headers. This will provide additional support for Proof-of-Possession. See 3026
Experimental Features
- Managed identities for Azure resources provide Azure services with an automatically managed identity in Azure Active Directory. You can use this identity to authenticate to any service that supports Azure AD authentication, without having credentials in your code. MSAL now supports acquiring token for managed identities for Azure App Services and Azure Virtual Machines. Use
WithManagedIdentity()
method on theAcquireTokenForClient
API to get an MSI token. This is an experimental feature and may change in the future versions of MSAL. See 3754 and 3829
Supportability
- Enabled more logging for new WAM broker. See 3575
Bug Fixes
- Optimized MSAL cache key logic to improve performance. See 3393
4.48.1
Supportability
- Fixes an internal (Microsoft 1P only) MSA-PT issue for the new WAM preview broker. See VS#1809364 and VS#1643652
Bug Fixes
- Added header title to the Account Picker for the new WAM preview broker. See 3803.
4.48.0
New Features
- Removed support for deprecated
net5.0-windows10.0.17763.0
target. See 3770 and note below. - Added support for
net6.0
andnet6.0-windows10.0.17763.0
targets. See 3682 and note below. - Removed support for old
xamarinmac20
target. See 3722. WithProofOfPossession
for public client applications is now generally available. See 3767.- Added telemetry to log Proof-of-Possession usage. See 3718.
- Exposed tenant profiles for all authorities which are tenanted (B2C and dSTS). See 3703.
- Now logging MSAL version to common telemetry client. See 3745.
- Updated guidance on retry policies. See Retry Policy wiki and 3561.
Bug Fixes
- Fixed a
NullReferenceException
related to authority URLs when callingAcquireTokenSilent
with an Operating System account in apps using WAM. See 3769. - Fixed a
NullReferenceException
when using preview broker and callingAcquireTokenSilent
with MSA account and MSA-PT enabled. See 3743. - Added an
Exported
attribute to Android activities to be compliant with Android OS 12.1 (API 32) and above requirements. See 3680. - Fixed incorrect home account details in
AuthenticationResult
ofAcquireTokenByRefreshToken
. See 3736.
.NET 5 and .NET 6 public client applications
If you have a Windows application which targets net5.0
, net5.0-windows
, net5.0-windowsX
, net6.0
, or net6.0-windows
and would like to use either WAM or embedded browser, you must change the app target to at least net6.0-windows10.0.17763.0
. System browser works on all of the above targets.
The recommendation is to use new Windows broker preview, as it offers better experience than current WAM implementation and will be generally available in the near future. If you want to try the new broker preview, install the NuGet package Microsoft.Identity.Client.Broker and call the .WithBrokerPreview()
method. For details, see https://aka.ms/msal-net-wam.
4.47.2
New Features
- Hide legacy API's that are available only to internal Microsoft only (1P) applications. See 3670.
- Soft deprecate
WithAuthority
API on AcquireTokenXXX methods. Instead useWithTenantId
orWithTenantIdFromAuthority
, orWithB2CAuthority
for B2C authorities. See #3716 - Logging error codes to MSAL Telemetry. See 3595
- Add more logging around client creds and claims. See 3707.
- Improve extensibility APIs to support new POP
Bug Fixes
- Improved error messages when new preview broker exceptions are thrown. #3696
- MSAL will now throw an exception if no scopes are passed for the new preview Broker or for B2C scenarios. See #3675
- Removed .NET 6 MacCatalyst target because MSAL.NET doesn't currently support it. See #3693
- Throw an exception when new WAM DLLs are not loaded when invoking the new WAM preview broker. See #3699