Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions sdk/identity/azure-identity/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

### Bugs Fixed

- `DefaultAzureCredential`'s `workload_identity_client_id` keyword argument no longer inherits the value of `managed_identity_client_id`. It now independently defaults to the `AZURE_CLIENT_ID` environment variable, matching the documented behavior. ([#46073](https://github.com/Azure/azure-sdk-for-python/pull/46073))

### Other Changes

## 1.25.3 (2026-03-12)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,9 @@ def __init__(self, **kwargs: Any) -> None: # pylint: disable=too-many-statement
managed_identity_client_id = kwargs.pop(
"managed_identity_client_id", os.environ.get(EnvironmentVariables.AZURE_CLIENT_ID)
)
workload_identity_client_id = kwargs.pop("workload_identity_client_id", managed_identity_client_id)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, default to managed_identity_client_id is by design.

workload_identity_client_id used to be part of managed identity.

We need to keep backward compatibility.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Posted some thoughts here: #45900 (comment)

This coupling can lead to some surprises for the user. Do you see this as a doc only fix?

workload_identity_client_id = kwargs.pop(
"workload_identity_client_id", os.environ.get(EnvironmentVariables.AZURE_CLIENT_ID)
)
workload_identity_tenant_id = kwargs.pop(
"workload_identity_tenant_id", os.environ.get(EnvironmentVariables.AZURE_TENANT_ID)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,9 @@ def __init__(self, **kwargs: Any) -> None: # pylint: disable=too-many-statement
managed_identity_client_id = kwargs.pop(
"managed_identity_client_id", os.environ.get(EnvironmentVariables.AZURE_CLIENT_ID)
)
workload_identity_client_id = kwargs.pop("workload_identity_client_id", managed_identity_client_id)
workload_identity_client_id = kwargs.pop(
"workload_identity_client_id", os.environ.get(EnvironmentVariables.AZURE_CLIENT_ID)
)
workload_identity_tenant_id = kwargs.pop(
"workload_identity_tenant_id", os.environ.get(EnvironmentVariables.AZURE_TENANT_ID)
)
Expand Down