From e69e7eceebde1499df5b118a15d9883e026e7394 Mon Sep 17 00:00:00 2001 From: Matthew Brookhart Date: Wed, 26 Feb 2025 21:00:36 -0700 Subject: [PATCH] feat: support Microsoft Entra ID authentication (#1274) Co-authored-by: Matthew Brookhart --- lua/avante/config.lua | 1 + lua/avante/providers/azure.lua | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lua/avante/config.lua b/lua/avante/config.lua index 92a80bf..cca2b32 100644 --- a/lua/avante/config.lua +++ b/lua/avante/config.lua @@ -517,6 +517,7 @@ M.BASE_PROVIDER_KEYS = { "role_map", "__inherited_from", "disable_tools", + "entra", } return M diff --git a/lua/avante/providers/azure.lua b/lua/avante/providers/azure.lua index e26145a..c2842b5 100644 --- a/lua/avante/providers/azure.lua +++ b/lua/avante/providers/azure.lua @@ -23,7 +23,14 @@ function M.parse_curl_args(provider, prompt_opts) local headers = { ["Content-Type"] = "application/json", } - if P.env.require_api_key(provider_conf) then headers["api-key"] = provider.parse_api_key() end + + if P.env.require_api_key(provider_conf) then + if provider_conf.entra then + headers["Authorization"] = "Bearer " .. provider.parse_api_key() + else + headers["api-key"] = provider.parse_api_key() + end + end -- NOTE: When using "o" series set the supported parameters only if O.is_o_series_model(provider_conf.model) then