fix(openai): require https for workload identity api_base targets

This commit is contained in:
mateo-berri 2026-08-31 12:32:00 -07:00
parent 72adeda9ce
commit ef72e7b37d
2 changed files with 5 additions and 1 deletions

View file

@ -71,7 +71,8 @@ def get_workload_identity_bearer_token(config: OpenAIWorkloadIdentityConfig) ->
def _targets_openai_api(api_base: str | None) -> bool:
if api_base is None:
return True
return urlparse(api_base).hostname == _OPENAI_API_HOST
parsed: Final = urlparse(api_base)
return parsed.scheme == "https" and parsed.hostname == _OPENAI_API_HOST
@lru_cache(maxsize=16)

View file

@ -69,6 +69,9 @@ class TestResolveConfig:
def test_openai_api_base_allows(self, wif_env: OpenAIWorkloadIdentityConfig) -> None:
assert resolve_openai_workload_identity_config(api_key=None, api_base="https://api.openai.com/v1") == wif_env
def test_plaintext_http_api_base_disables(self, wif_env: OpenAIWorkloadIdentityConfig) -> None:
assert resolve_openai_workload_identity_config(api_key=None, api_base="http://api.openai.com/v1") is None
def test_foreign_env_base_url_disables(
self, wif_env: OpenAIWorkloadIdentityConfig, monkeypatch: pytest.MonkeyPatch
) -> None: