Skip to content

Conversation

@heyitsaamir
Copy link
Collaborator

@heyitsaamir heyitsaamir commented Nov 5, 2025

Adds support for Federated Identity Credentials.

CLIENT_ID CLIENT_SECRET MANAGED_IDENTITY_CLIENT_ID Output
not_set No-Auth
set set SecretsAuth
set not_set User Managed Identity Auth
set not_set set (same as CLIENT_ID) User Managed Identity Auth
set not_set set (diff from CLIENT_ID) FIC (user managed identity)
set not_set "system" FIC (system identity)

Federated Identity Credentials has a two step process. It first uses managed identity (UMI or SI) to get an token-assertion. This then is used to build a ConfidentialClient to get the actual token.

PR Dependency Tree

This tree was auto-generated by Charcoal

@heyitsaamir heyitsaamir force-pushed the aamirj/fic branch 3 times, most recently from a1b11bb to b222662 Compare November 5, 2025 06:19
@heyitsaamir heyitsaamir changed the title FIC support Add Federated Identity Credentials support Nov 5, 2025
@heyitsaamir heyitsaamir force-pushed the aamirj/fic branch 2 times, most recently from 40c3b31 to 58517da Compare November 6, 2025 17:57
def _get_msal_client(self, tenant_id: str) -> ConfidentialClientApplication | ManagedIdentityClient:
credentials = self._credentials
def _resolve_tenant_id(
self, tenant_id: str | None, credentials: ClientCredentials | FederatedIdentityCredentials | TokenCredentials
Copy link
Collaborator

Choose a reason for hiding this comment

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

should we define all 3 as another type?

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.

4 participants