Skip to content

Fix misleading comment in CertificatelessOptions.ManagedIdentityClientId#3667

Merged
pmaytak merged 2 commits intomasterfrom
copilot/fix-misleading-comment
Jan 9, 2026
Merged

Fix misleading comment in CertificatelessOptions.ManagedIdentityClientId#3667
pmaytak merged 2 commits intomasterfrom
copilot/fix-misleading-comment

Conversation

Copy link
Contributor

Copilot AI commented Jan 9, 2026

The XML documentation for ManagedIdentityClientId incorrectly stated it should contain the "object ID of the managed identity service principal" when it actually expects the client ID.

Changes

  • Updated XML documentation in CertificatelessOptions.cs to correctly specify "client ID of the managed identity"
  • Synchronized Microsoft.Identity.Web.xml with the corrected documentation

Before:

/// If Azure AD is the issuer, this value should be the object
/// ID of the managed identity service principal in the tenant that will be used to 
/// impersonate the app.

After:

/// If Azure AD is the issuer, this value should be the client
/// ID of the managed identity.

This aligns the documentation with the property name change made in PR #2021.

Original prompt

This section details on the original issue you should resolve

<issue_title>Misleading comment in</issue_title>
<issue_description>### Microsoft.Identity.Web Library

Microsoft.Identity.Web.CertificateLess

Microsoft.Identity.Web version

3.9.4.0

Web app

Not Applicable

Web API

Not Applicable

Token cache serialization

Not Applicable

Description

#2021 fixed the naming of the ManagedIdentityClientId property, but the comment is misleading.
It reads "If Azure AD is the issuer, this value should be the object ID of the managed identity service principal in the tenant that will be used to impersonate the app." This should read "If Azure AD is the issuer, this value should be the client ID of the managed identity." The same erroneous text is in the documentation.
https://learn.microsoft.com/en-us/dotnet/api/microsoft.identity.web.certificatelessoptions.managedidentityclientid?view=msal-model-dotnet-latest#microsoft-identity-web-certificatelessoptions-managedidentityclientid

Reproduction steps

View

/// and Azure Active Directory. If Azure AD is the issuer, this value should be the object

Error message

No response

Id Web logs

No response

Relevant code snippets

//
    // Summary:
    //     The value is used to establish a connection between external workload identities
    //     and Azure Active Directory. If Azure AD is the issuer, this value should be the
    //     object ID of the managed identity service principal in the tenant that will be
    //     used to impersonate the app. Can be null if you are using the machine assigned
    //     managed identity. Needs to be assigned if you are using a user assigned managed
    //     identity.
    public string? ManagedIdentityClientId { get; set; }

Regression

No response

Expected behavior

Accurate comment</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Fix misleading comment in ManagedIdentityClientId property Fix misleading comment in CertificatelessOptions.ManagedIdentityClientId Jan 9, 2026
Copilot AI requested a review from bgavrilMS January 9, 2026 14:43
@bgavrilMS bgavrilMS marked this pull request as ready for review January 9, 2026 15:21
@bgavrilMS bgavrilMS requested a review from a team as a code owner January 9, 2026 15:21
@pmaytak pmaytak merged commit d5043f0 into master Jan 9, 2026
8 checks passed
@pmaytak pmaytak deleted the copilot/fix-misleading-comment branch January 9, 2026 17:16
neha-bhargava pushed a commit that referenced this pull request Jan 13, 2026
…tId (#3667)

* Initial plan

* Fix misleading comment in CertificatelessOptions.ManagedIdentityClientId

Co-authored-by: bgavrilMS <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: bgavrilMS <[email protected]>
github-merge-queue bot pushed a commit to DFE-Digital/teaching-record-system that referenced this pull request Mar 9, 2026
…nIdConnect (#3193)

Updated
[Microsoft.Identity.Web](https://github.com/AzureAD/microsoft-identity-web)
from 4.0.1 to 4.5.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

## 4.4.0-preview.1

### 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).

## 4.3.0

### New features
- Added token binding (mTLS PoP) scenario for confidential client
(app-only) token acquisition and downstream API calls. See
[#​3622](AzureAD/microsoft-identity-web#3622).

### Dependencies updates
- Bumped **qs** from 6.14.0 to 6.14.1 in
/tests/DevApps/SidecarAdapter/typescript. See [#​3660](
AzureAD/microsoft-identity-web#3660).

### Documentation
- Modernized Identity Web documentation, which is now can be found in
[docs](https://github.com/AzureAD/microsoft-identity-web/tree/master/docs).
See
[#​3566](AzureAD/microsoft-identity-web#3566).
- Added token binding (mTLS PoP) documentation. See
[#​3661](AzureAD/microsoft-identity-web#3661).

## 4.2.0

# What's Changed

## New features

- Added CAE claims support for FIC + Managed Identity. See #​3647 for
details.
- Added AddMicrosoftIdentityMessageHandler extension methods for
IHttpClientBuilder. See #​3649 for details.

## Bug fixes


- Fixed tenant not being propagated in credential FIC acquisition. See
#​3633 for details.
- Fixed ForAgentIdentity hardcoded 'AzureAd' ConfigurationSection to
respect AuthenticationOptionsName. See #​3635 for details.
- Fixed GetTokenAcquirer to propagate MicrosoftEntraApplicationOptions
properties. See #​3651 for details.
- Added meaningful error message when identity configuration is missing.
See #​3637 for details.

## Dependencies updates

- Update Microsoft.Identity.Abstractions to version 10.0.0.
- Bump express from 5.1.0 to 5.2.0 in
/tests/DevApps/SidecarAdapter/typescript. #​3636
- Bump jws from 3.2.2 to 3.2.3 in
/tests/DevApps/SidecarAdapter/typescript. #​3641

## Fundamentals

- Update support policy. #​3656
- Update agent identity coordinates in E2E tests after deauth. #​3640
- Update E2E agent identity configuration to new tenant. #​3646


**Full Changelog**:
AzureAD/microsoft-identity-web@4.1.1...4.2.0

## 4.1.1

### Bug fixes
- Authority-only configuration parsing improvements: Early parsing of
Authority into Instance/TenantId and defensive fallback in
PrepareAuthorityInstanceForMsal. Behavior is backward compatible;
Authority is still ignored when Instance/TenantId explicitly
provided—now surfaced via a warning. See
[#​3612](AzureAD/microsoft-identity-web#3612).

### New features
- Added warning diagnostics for conflicting Authority vs
Instance/TenantId: Emitting a single structured warning when both styles
are provided. See
[#​3611](AzureAD/microsoft-identity-web#3611).

### Fundamentals
- Expanded authority test matrix: Coverage for AAD (v1/v2), B2C (/tfp/
normalization, policy path), CIAM (PreserveAuthority), query parameters,
scheme-less forms, and conflict scenarios. See
[#​3610](AzureAD/microsoft-identity-web#3610).

## 4.1.0

### New features
- Migrate to .NET 10 GA.
[#​3449](AzureAD/microsoft-identity-web#3449)
and
[#​3590](AzureAD/microsoft-identity-web#3590)

### Dependencies updates
- Bump MSAL.NET to version
[4.79.2](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/releases/tag/4.79.2)
and handle changes to deprecated WithExtraQueryParameters APIs.
[#​3583](AzureAD/microsoft-identity-web#3583)
- Update Microsoft.IdentityModel and Abstractions versions.
[#​3604](AzureAD/microsoft-identity-web#3604)
- Update coverlet.collector to 6.0.4.
[#​3587](AzureAD/microsoft-identity-web#3587)
- Update package validation baseline version to 4.0.0.
[#​3589](AzureAD/microsoft-identity-web#3589)
- Bump js-yaml from 4.1.0 to 4.1.1 in
/tests/DevApps/SidecarAdapter/typescript.
[#​3595](AzureAD/microsoft-identity-web#3595)

### Entra ID SDK sidecar
- Restrict hosts to localhost for sidecar.
[#​3579](AzureAD/microsoft-identity-web#3579)
- Update http file to match endpoints.
[#​3555](AzureAD/microsoft-identity-web#3555)
- Revise sidecar issue template for Entra ID.
[#​3577](AzureAD/microsoft-identity-web#3577)

### Documentation
- Update README to include Entra SDK container info.
[#​3578](AzureAD/microsoft-identity-web#3578)

### Fundamentals
- Include NET 9.0 in template-install-dependencies.
[#​3593](AzureAD/microsoft-identity-web#3593)
- Fix CodeQL alerts.
[#​3591](AzureAD/microsoft-identity-web#3591)
- Suppression file is needed.
[#​3592](AzureAD/microsoft-identity-web#3592)

Commits viewable in [compare
view](https://github.com/AzureAD/microsoft-identity-web/commits).
</details>

Updated
[Microsoft.IdentityModel.Protocols.OpenIdConnect](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet)
from 8.14.0 to 8.15.0.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.IdentityModel.Protocols.OpenIdConnect's
releases](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases)._

## 8.15.0

## New Features
- **Add ECDsa support in `X509SecurityKey` and
`JsonWebKeyConverter.ConvertFromX509SecurityKey`**
Extended `X509SecurityKey` and
`JsonWebKeyConverter.ConvertFromX509SecurityKey` to support ECDSA keys.
See PR
[#​2377](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#2377)
for details.

## Bug Fixes
- **Sanitize logs to avoid leaking sensitive data**  
Updated logging to sanitize sensitive values, reducing the risk of
inadvertently exposing secrets or PII in logs.
See PR
[#​3316](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3316)
for details.
- **Optimize log sanitization with `SearchValues`**  
Improved the performance of the log sanitization logic introduced
earlier by using `SearchValues`, making sanitization more efficient in
high-throughput scenarios.
See PR
[#​3341](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3341)
for details.
- **Update test for `IDX10400`**  
Adjusted the `IDX10400` test to align with the current behavior and
error messaging.
See PR
[#​3314](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3314)
for details.

## Fundamentals
- **Add supported algorithm tests**  
Added new tests to validate the set of supported cryptographic
algorithms, increasing confidence in algorithm coverage and
compatibility.
See PR
[#​3296](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3296)
for details.
- **Migrate repository agent rules from `.clinerules` to `agents.md`**  
Moved repository agent/AI-assist rules into markdown documentation to
make them more visible and easier to maintain.
See PR
[#​3313](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3313)
for details.
- **Migrate `Microsoft.IdentityModel.TestExtensions` from
Newtonsoft.Json to System.Text.Json**
Updated `Microsoft.IdentityModel.TestExtensions` to use
`System.Text.Json` instead of `Newtonsoft.Json`, aligning tests with the
runtime serialization stack.
See PR
[#​3356](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3356)
for details.
- **Disable code coverage comments**  
Turned off automated code coverage comments on PRs to reduce noise while
retaining coverage data elsewhere.
See PR
[#​3349](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3349)
for details.
- **Fix CodeQL alerts**  
Addressed CodeQL-reported issues to improve security posture and static
analysis cleanliness.
See PR
[#​3364](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3364)
for details.

### .NET 10 / SDK and tooling updates
- **Building with .NET 10 preview / RC 1**  
Updated the repository to build and test against .NET 10.0 preview/RC1,
ensuring early compatibility with the upcoming runtime.
See PRs
[#​3287](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3287),
[#​3357](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3357),
and
[#​3358](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3358)
for details.
- **Fix .NET 10 test execution consistency**  
Ensured consistent use of the `TargetNetNext` parameter across build,
test, and pack phases so .NET 10.0 tests execute reliably.
See PR
[#​3337](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3337)
for details.
- **Update project files and workflows for .NET 10.0 compatibility**  
Adjusted project files and CI workflows to correctly target and run on
.NET 10.0, including test and pack scenarios.
See PR
[#​3363](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3363)
for details.
- **Update .NET version to meet CG compliance**  
Updated the .NET version references to be compliant with corporate
governance (CG) requirements.
See PR
[#​3353](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3353)
for details.
- **Update Coverlet collector and test SDK**  
  - Bumped `CoverletCollectorVersion` to 6.0.4.  
See PR
[#​3333](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3333)
for details.
- Upgraded `Microsoft.NET.Test.Sdk` to a newer version for improved test
reliability and tooling support.
 ... (truncated)

Commits viewable in [compare
view](AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet@8.14.0...8.15.0).
</details>

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Gunn <[email protected]>
This was referenced Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Misleading comment in

4 participants