fix(auth): send Bearer auth for Azure Foundry anthropic_messages endpoints
Azure AI Foundry's Anthropic-style endpoint requires `Authorization: Bearer` instead of `x-api-key`. Add `azure.com` to `_requires_bearer_auth()` so the existing Bearer path at line 586 fires before the generic third-party branch sets `api_key` (x-api-key). Fixes #26970
This commit is contained in:
@@ -471,14 +471,18 @@ def _requires_bearer_auth(base_url: str | None) -> bool:
|
|||||||
"""Return True for Anthropic-compatible providers that require Bearer auth.
|
"""Return True for Anthropic-compatible providers that require Bearer auth.
|
||||||
|
|
||||||
Some third-party /anthropic endpoints implement Anthropic's Messages API but
|
Some third-party /anthropic endpoints implement Anthropic's Messages API but
|
||||||
require Authorization: Bearer *** of Anthropic's native x-api-key header.
|
require Authorization: Bearer instead of Anthropic's native x-api-key header.
|
||||||
MiniMax's global and China Anthropic-compatible endpoints follow this pattern.
|
MiniMax's global and China Anthropic-compatible endpoints, and Azure AI
|
||||||
|
Foundry's Anthropic-style endpoint follow this pattern.
|
||||||
"""
|
"""
|
||||||
normalized = _normalize_base_url_text(base_url)
|
normalized = _normalize_base_url_text(base_url)
|
||||||
if not normalized:
|
if not normalized:
|
||||||
return False
|
return False
|
||||||
normalized = normalized.rstrip("/").lower()
|
normalized = normalized.rstrip("/").lower()
|
||||||
return normalized.startswith(("https://api.minimax.io/anthropic", "https://api.minimaxi.com/anthropic"))
|
return (
|
||||||
|
normalized.startswith(("https://api.minimax.io/anthropic", "https://api.minimaxi.com/anthropic"))
|
||||||
|
or "azure.com" in normalized
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def _base_url_needs_context_1m_beta(base_url: str | None) -> bool:
|
def _base_url_needs_context_1m_beta(base_url: str | None) -> bool:
|
||||||
|
|||||||
Reference in New Issue
Block a user