aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-03-19 16:58:09 +0100
committerGitHub Enterprise <[email protected]>2025-03-19 16:58:09 +0100
commitd27d91ccc912c2e09c65bdd210d909f5d87694c1 (patch)
tree2fba8152214281340c84b2207c32def67b865b82
parentjupiter builds stats upload (#315) (diff)
downloadzen-d27d91ccc912c2e09c65bdd210d909f5d87694c1.tar.xz
zen-d27d91ccc912c2e09c65bdd210d909f5d87694c1.zip
don't let auth env argument block other auth options (#316)
* prioritize actual options over implicit env variable for auth token
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/zen/cmds/builds_cmd.cpp20
2 files changed, 13 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 944c06bfd..51a6f2bb8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -40,6 +40,7 @@
- Bugfix: Ensure that temporary folder for Jupiter downloads exists during verify phase
- Bugfix: Fixed crash during download when trying to write outside a file range
- Bugfix: MacOS / Linux zen build download now works correctly
+ - Bugfix: Env auth parsing blocked parsing OAuth and OpenId options
## 5.6.0
- Feature: Added support for `--trace`, `--tracehost` and `--tracefile` options to zen CLI command
diff --git a/src/zen/cmds/builds_cmd.cpp b/src/zen/cmds/builds_cmd.cpp
index 98031116a..889ccef0b 100644
--- a/src/zen/cmds/builds_cmd.cpp
+++ b/src/zen/cmds/builds_cmd.cpp
@@ -7434,6 +7434,14 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
}
}
+ auto GetEnvAccessToken = [](const std::string& AccessTokenEnv) -> std::string {
+ if (!AccessTokenEnv.empty())
+ {
+ return GetEnvVariable(AccessTokenEnv);
+ }
+ return {};
+ };
+
if (!m_AccessToken.empty())
{
ClientSettings.AccessTokenProvider = httpclientauth::CreateFromStaticToken(m_AccessToken);
@@ -7446,14 +7454,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
ClientSettings.AccessTokenProvider = httpclientauth::CreateFromStaticToken(ResolvedAccessToken);
}
}
- else if (!m_AccessTokenEnv.empty())
- {
- std::string ResolvedAccessToken = GetEnvVariable(m_AccessTokenEnv);
- if (!ResolvedAccessToken.empty())
- {
- ClientSettings.AccessTokenProvider = httpclientauth::CreateFromStaticToken(ResolvedAccessToken);
- }
- }
else if (!m_OAuthUrl.empty())
{
ClientSettings.AccessTokenProvider = httpclientauth::CreateFromOAuthClientCredentials(
@@ -7464,6 +7464,10 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
CreateAuthMgr();
ClientSettings.AccessTokenProvider = httpclientauth::CreateFromOpenIdProvider(*Auth, m_OpenIdProviderName);
}
+ else if (std::string ResolvedAccessToken = GetEnvAccessToken(m_AccessTokenEnv); !ResolvedAccessToken.empty())
+ {
+ ClientSettings.AccessTokenProvider = httpclientauth::CreateFromStaticToken(ResolvedAccessToken);
+ }
else
{
CreateAuthMgr();