feat(azure-foundry): add Microsoft Entra ID auth
Use azure-identity DefaultAzureCredential for keyless Foundry auth. Preserve refreshable callable credentials through OpenAI and Anthropic client paths. Add setup, doctor, auth status, docs, and tests for Entra auth. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1087,7 +1087,16 @@ def _apply_model_switch(sid: str, session: dict, raw_input: str) -> dict:
|
||||
current_provider = str(runtime.get("provider", "") or "")
|
||||
current_model = _resolve_model()
|
||||
current_base_url = str(runtime.get("base_url", "") or "")
|
||||
current_api_key = str(runtime.get("api_key", "") or "")
|
||||
# Preserve a callable api_key (Azure Foundry Entra ID bearer
|
||||
# provider) unchanged — ``str(...)`` would produce
|
||||
# ``"<function ...>"`` and poison downstream switch_model
|
||||
# validation. Match the agent-present branch's behavior at the
|
||||
# top of this block.
|
||||
_runtime_key = runtime.get("api_key", "")
|
||||
if callable(_runtime_key) and not isinstance(_runtime_key, str):
|
||||
current_api_key = _runtime_key
|
||||
else:
|
||||
current_api_key = str(_runtime_key or "")
|
||||
|
||||
# Load user-defined providers so switch_model can resolve named custom
|
||||
# endpoints (e.g. "ollama-launch") and validate against saved model lists.
|
||||
|
||||
Reference in New Issue
Block a user