aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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
Diffstat (limited to 'src')
-rw-r--r--src/zen/cmds/builds_cmd.cpp20
1 files changed, 12 insertions, 8 deletions
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();