Skip to content

Commit 2d15178

Browse files
committed
Remove ManagedIdentityType
1 parent 9c67258 commit 2d15178

File tree

2 files changed

+12
-30
lines changed

2 files changed

+12
-30
lines changed

packages/apps/src/microsoft/teams/apps/app.py

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -292,41 +292,30 @@ def _init_credentials(self) -> Optional[Credentials]:
292292
tenant_id = self.options.tenant_id or os.getenv("TENANT_ID")
293293
token = self.options.token
294294
managed_identity_client_id = self.options.managed_identity_client_id or os.getenv("MANAGED_IDENTITY_CLIENT_ID")
295-
managed_identity_type = self.options.managed_identity_type or os.getenv("MANAGED_IDENTITY_TYPE")
296295

297296
self.log.debug(f"Using CLIENT_ID: {client_id}")
298297
if not tenant_id:
299298
self.log.warning("TENANT_ID is not set, assuming multi-tenant app")
300299
else:
301300
self.log.debug(f"Using TENANT_ID: {tenant_id} (assuming single-tenant app)")
302301

303-
# - If client_id + client_secret : use ClientCredentials (standard client auth)
304302
if client_id and client_secret:
305303
self.log.debug("Using client secret for auth")
306304
return ClientCredentials(client_id=client_id, client_secret=client_secret, tenant_id=tenant_id)
307305

308-
# - If client_id + token callable : use TokenCredentials (where token is a custom token provider)
309306
if client_id and token:
310307
return TokenCredentials(client_id=client_id, tenant_id=tenant_id, token=token)
311308

312-
# - If client_id but no client_secret : use Managed Identity (direct or federated)
313309
if client_id:
314-
# If managed_identity_type is explicitly provided, use Federated Identity Credentials
315-
if managed_identity_type:
316-
assert managed_identity_type in ("system", "user"), (
317-
f"managed_identity_type must be 'system' or 'user', got: {managed_identity_type}"
318-
)
319-
self.log.debug(
320-
f"Using Federated Identity Credentials with {managed_identity_type}-assigned managed identity"
321-
)
310+
if managed_identity_client_id == "system":
311+
self.log.debug("Using Federated Identity Credentials with system-assigned managed identity")
322312
return FederatedIdentityCredentials(
323313
client_id=client_id,
324-
managed_identity_type=managed_identity_type,
325-
managed_identity_client_id=managed_identity_client_id,
314+
managed_identity_type="system",
315+
managed_identity_client_id=None,
326316
tenant_id=tenant_id,
327317
)
328318

329-
# If managed_identity_client_id is provided and different from client_id, use Federated Identity Credentials
330319
if managed_identity_client_id and managed_identity_client_id != client_id:
331320
self.log.debug("Using Federated Identity Credentials with user-assigned managed identity")
332321
return FederatedIdentityCredentials(
@@ -336,7 +325,6 @@ def _init_credentials(self) -> Optional[Credentials]:
336325
tenant_id=tenant_id,
337326
)
338327

339-
# Otherwise, use direct Managed Identity (no federation)
340328
self.log.debug("Using user-assigned managed identity (direct)")
341329
mi_client_id = managed_identity_client_id or client_id
342330
return ManagedIdentityCredentials(

packages/apps/src/microsoft/teams/apps/options.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from dataclasses import dataclass, field
77
from logging import Logger
8-
from typing import Any, Awaitable, Callable, List, Literal, Optional, TypedDict, Union, cast
8+
from typing import Any, Awaitable, Callable, List, Optional, TypedDict, Union, cast
99

1010
from microsoft.teams.common import Storage
1111
from typing_extensions import Unpack
@@ -30,12 +30,9 @@ class AppOptions(TypedDict, total=False):
3030
managed_identity_client_id: Optional[str]
3131
"""
3232
The managed identity client ID for user-assigned managed identity.
33-
If different from client_id, triggers Federated Identity Credentials.
34-
"""
35-
managed_identity_type: Optional[Literal["system", "user"]]
36-
"""
37-
The type of managed identity for Federated Identity Credentials.
38-
If provided, triggers Federated Identity Credentials flow.
33+
Set to "system" for system-assigned managed identity (triggers Federated Identity Credentials).
34+
If set to a different client ID than client_id, triggers Federated Identity Credentials with user-assigned MI.
35+
If not set or equals client_id, uses direct managed identity (no federation).
3936
"""
4037

4138
# Infrastructure
@@ -68,13 +65,10 @@ class InternalAppOptions:
6865
"""Custom token provider function. If provided with client_id (no client_secret), uses TokenCredentials."""
6966
managed_identity_client_id: Optional[str] = None
7067
"""
71-
The managed identity client ID for user-assigned managed identity. If different from client_id, triggers
72-
Federated Identity Credentials.
73-
"""
74-
managed_identity_type: Optional[Literal["system", "user"]] = None
75-
"""
76-
The type of managed identity for Federated Identity Credentials. If provided, triggers
77-
Federated Identity Credentials flow.
68+
The managed identity client ID for user-assigned managed identity.
69+
Set to "system" for system-assigned managed identity (triggers Federated Identity Credentials).
70+
If set to a different client ID than client_id, triggers Federated Identity Credentials with user-assigned MI.
71+
If not set or equals client_id, uses direct managed identity (no federation).
7872
"""
7973
logger: Optional[Logger] = None
8074
storage: Optional[Storage[str, Any]] = None

0 commit comments

Comments
 (0)