summaryrefslogtreecommitdiff
path: root/packages/cli/src/validateNonInterActiveAuth.ts
diff options
context:
space:
mode:
authorGal Zahavi <[email protected]>2025-07-25 10:19:38 -0700
committerGitHub <[email protected]>2025-07-25 17:19:38 +0000
commit63214428658da3608180fc07b811e7fd2d143e63 (patch)
tree50563bbe21bc32dd3c97b642188faab8f8d00983 /packages/cli/src/validateNonInterActiveAuth.ts
parentfb0db2dfd6ff4150150c2a7b88442da5625cd609 (diff)
feat(auth): Enhance non-interactive gcp auth (#4811)
Diffstat (limited to 'packages/cli/src/validateNonInterActiveAuth.ts')
-rw-r--r--packages/cli/src/validateNonInterActiveAuth.ts23
1 files changed, 15 insertions, 8 deletions
diff --git a/packages/cli/src/validateNonInterActiveAuth.ts b/packages/cli/src/validateNonInterActiveAuth.ts
index 87a7f4ff..a85b7370 100644
--- a/packages/cli/src/validateNonInterActiveAuth.ts
+++ b/packages/cli/src/validateNonInterActiveAuth.ts
@@ -8,21 +8,28 @@ import { AuthType, Config } from '@google/gemini-cli-core';
import { USER_SETTINGS_PATH } from './config/settings.js';
import { validateAuthMethod } from './config/auth.js';
+function getAuthTypeFromEnv(): AuthType | undefined {
+ if (process.env.GOOGLE_GENAI_USE_GCA === 'true') {
+ return AuthType.LOGIN_WITH_GOOGLE;
+ }
+ if (process.env.GOOGLE_GENAI_USE_VERTEXAI === 'true') {
+ return AuthType.USE_VERTEX_AI;
+ }
+ if (process.env.GEMINI_API_KEY) {
+ return AuthType.USE_GEMINI;
+ }
+ return undefined;
+}
+
export async function validateNonInteractiveAuth(
configuredAuthType: AuthType | undefined,
nonInteractiveConfig: Config,
) {
- const effectiveAuthType =
- configuredAuthType ||
- (process.env.GOOGLE_GENAI_USE_VERTEXAI === 'true'
- ? AuthType.USE_VERTEX_AI
- : process.env.GEMINI_API_KEY
- ? AuthType.USE_GEMINI
- : undefined);
+ const effectiveAuthType = configuredAuthType || getAuthTypeFromEnv();
if (!effectiveAuthType) {
console.error(
- `Please set an Auth method in your ${USER_SETTINGS_PATH} or specify either the GEMINI_API_KEY or GOOGLE_GENAI_USE_VERTEXAI environment variables before running`,
+ `Please set an Auth method in your ${USER_SETTINGS_PATH} or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA`,
);
process.exit(1);
}