AoT - Part 3 - Upgrade to Abstractions 11 that are AoT compatible#3699
Merged
AoT - Part 3 - Upgrade to Abstractions 11 that are AoT compatible#3699
Conversation
jmprieur
commented
Feb 3, 2026
...rosoft.Identity.Web.TokenAcquisition/ConfidentialClientApplicationBuilderExtension.Logger.cs
Show resolved
Hide resolved
Contributor
There was a problem hiding this comment.
Pull request overview
Upgrades the repo to Microsoft.Identity.Abstractions v11 and adjusts related code paths to remain compatible with AoT and newer TFMs (including net10), alongside moving the solution to C# 14.
Changes:
- Bump
MicrosoftIdentityAbstractionsVersionto11.0.0and setLangVersionto14. - Update logging helpers (block-bodied methods + nullable thumbprint logging) and record the internal API delta in
InternalAPI.Unshipped.txt. - Adjust certificate handling for net10 via conditional compilation in
CertificateDescription.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/Microsoft.Identity.Web.Test/CertificatesObserverTests.cs | Tweaks test handler thumbprint comparison to tolerate nulls. |
| src/Microsoft.Identity.Web.TokenAcquisition/TokenAcquisition.Logger.cs | Converts logger wrappers to block-bodied methods (AoT-friendly pattern). |
| src/Microsoft.Identity.Web.TokenAcquisition/PublicAPI/*/InternalAPI.Unshipped.txt | Records new internal API signature for nullable cert thumbprint logging across TFMs. |
| src/Microsoft.Identity.Web.TokenAcquisition/ConfidentialClientApplicationBuilderExtension.cs | Passes nullable thumbprint into logging call when selecting certificate credentials. |
| src/Microsoft.Identity.Web.TokenAcquisition/ConfidentialClientApplicationBuilderExtension.Logger.cs | Updates logger wrappers and makes UsingCertThumbprint accept nullable thumbprints. |
| src/Microsoft.Identity.Web.Certificate/CertificateDescription.cs | Conditionalizes Certificate property implementation for NET10_0_OR_GREATER. |
| Directory.Build.props | Moves to C# 14 and upgrades Abstractions dependency version. |
8 tasks
bgavrilMS
approved these changes
Feb 4, 2026
4gust
approved these changes
Feb 5, 2026
This was referenced Mar 1, 2026
deps: Bump Microsoft.Identity.Web from 4.3.0 to 4.4.0
microsoft/dragon-copilot-extension-samples#173
Merged
This was referenced Mar 2, 2026
deps(nuget): Bump the microsoft-packages group with 2 updates
Ellerbach/azure-ai-search-simulator#66
Merged
github-actions bot
pushed a commit
to EelcoLos/nx-tinkering
that referenced
this pull request
Mar 3, 2026
[//]: # (dependabot-start)⚠️ **Dependabot is rebasing this PR**⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Updated [Microsoft.Identity.Web](https://github.com/AzureAD/microsoft-identity-web) from 4.3.0 to 4.4.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Identity.Web's releases](https://github.com/AzureAD/microsoft-identity-web/releases)._ ## 4.4.0 ### New features - Add AOT-compatible web API authentication for .NET 10+. See [#3705](AzureAD/microsoft-identity-web#3705) and [#3664](AzureAD/microsoft-identity-web#3664). - Propagate long-running web API session key back to callers in user token acquisition. See [#3728](AzureAD/microsoft-identity-web#3728). - Add OBO event initialization for OBO APIs. See [#3724](AzureAD/microsoft-identity-web#3724). - Add support for calling `WithClientClaims` flow for token acquisition. See [#3623](AzureAD/microsoft-identity-web#3623). - Add `OnBeforeTokenAcquisitionForOnBehalfOf` event. See [#3680](AzureAD/microsoft-identity-web#3680). ### Bug fixes - Throw `InvalidOperationException` with actionable message when a custom credential is not registered. See [#3626](AzureAD/microsoft-identity-web#3626). - Fix event firing for `InvokeOnBeforeTokenAcquisitionForOnBehalfOfAsync`. See [#3717](AzureAD/microsoft-identity-web#3717). - Update `OnBeforeTokenAcquisitionForOnBehalfOf` to construct `ClaimsPrincipal` from token. See [#3714](AzureAD/microsoft-identity-web#3714). - Add a retry counter for acquire token and updated tests with a fake secret. See [#3682](AzureAD/microsoft-identity-web#3682). - Fix OBO user error handling. See [#3712](AzureAD/microsoft-identity-web#3712). - Fix override merging for app token (and others). See [#3644](AzureAD/microsoft-identity-web#3644). - Fix certificate reload logic to only trigger on certificate-specific errors. See [#3653](AzureAD/microsoft-identity-web#3653). - Update ROPC flow CCA to pass `SendX5C` to MSAL. See [#3671](AzureAD/microsoft-identity-web#3671). ### Dependencies updates - Bump `qs` in `/tests/DevApps/SidecarAdapter/typescript`. See [#3725](AzureAD/microsoft-identity-web#3725). - Downgrade Microsoft.Extensions.Configuration.Binder to 2.1.0 on .NET Framework. See [#3730](AzureAD/microsoft-identity-web#3730). - Update .NET SDK to 10.0.103 to address DOTNET-Security-10.0 vulnerability. See [#3726](AzureAD/microsoft-identity-web#3726). - Upgrade to Microsoft.Identity.Abstractions 11 for AoT compatibility. See [#3699](AzureAD/microsoft-identity-web#3699). - Update to MSAL 4.81.0. See [#3665](AzureAD/microsoft-identity-web#3665). ### Documentation - Add documentation for auto-generated session key for long-running OBO session. See [#3729](AzureAD/microsoft-identity-web#3729). - Improve the Aspire doc article and skills. See [#3695](AzureAD/microsoft-identity-web#3695). - Add an article and agent skill to add Entra ID to an Aspire app. See [#3689](AzureAD/microsoft-identity-web#3689). - Fix misleading comment in `CertificatelessOptions.ManagedIdentityClientId`. See [#3667](AzureAD/microsoft-identity-web#3667). - Add Copilot explore tool functionality. See [#3694](AzureAD/microsoft-identity-web#3694). ### Fundamentals - Remove unnecessary warning suppression. See [#3715](AzureAD/microsoft-identity-web#3715). - Migrate labs to Lab.API 2.x (first pass). See [#3710](AzureAD/microsoft-identity-web#3710). - Update Sidecar E2E test constants. See [#3693](AzureAD/microsoft-identity-web#3693). - Fix intermittent failures in `CertificatesObserverTests`. See [#3687](AzureAD/microsoft-identity-web#3687). - Add validation baseline exclusions. See [#3684](AzureAD/microsoft-identity-web#3684). - Add dSTS integration tests. See [#3677](AzureAD/microsoft-identity-web#3677). - Fix FIC test. See [#3663](AzureAD/microsoft-identity-web#3663). - Update IdentityWeb version, build logic, and validation. See [#3659](AzureAD/microsoft-identity-web#3659). ### New Contributors * @XiaoxinMS2 made their first contribution in AzureAD/microsoft-identity-web#3677 * @RyAuld made their first contribution in AzureAD/microsoft-identity-web#3687 * @agocke made their first contribution in AzureAD/microsoft-identity-web#3664 * @MZOLN made their first contribution in AzureAD/microsoft-identity-web#3700 * @christian-posta made their first contribution in AzureAD/microsoft-identity-web#3644 * @4gust made their first contribution in AzureAD/microsoft-identity-web#3682 * @rayluo made their first contribution in AzureAD/microsoft-identity-web#3714 Commits viewable in [compare view](AzureAD/microsoft-identity-web@4.3.0...4.4.0). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Mar 3, 2026
Open
Closed
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
{PR title}
Summary of the changes (Less than 80 chars)
Description
{Detail}
Fixes #{bug number} (in this specific format)