mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-13 05:12:55 -07:00
fix(acp): prevent unnecessary credential cache clearing on re-authent… (#9410)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
This commit is contained in:
@@ -113,8 +113,16 @@ export class GeminiAgent {
|
|||||||
|
|
||||||
async authenticate({ methodId }: acp.AuthenticateRequest): Promise<void> {
|
async authenticate({ methodId }: acp.AuthenticateRequest): Promise<void> {
|
||||||
const method = z.nativeEnum(AuthType).parse(methodId);
|
const method = z.nativeEnum(AuthType).parse(methodId);
|
||||||
|
const selectedAuthType = this.settings.merged.security?.auth?.selectedType;
|
||||||
|
|
||||||
await clearCachedCredentialFile();
|
// Only clear credentials when switching to a different auth method
|
||||||
|
if (selectedAuthType && selectedAuthType !== method) {
|
||||||
|
await clearCachedCredentialFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Refresh auth with the requested method
|
||||||
|
// This will reuse existing credentials if they're valid,
|
||||||
|
// or perform new authentication if needed
|
||||||
await this.config.refreshAuth(method);
|
await this.config.refreshAuth(method);
|
||||||
this.settings.setValue(
|
this.settings.setValue(
|
||||||
SettingScope.User,
|
SettingScope.User,
|
||||||
|
|||||||
Reference in New Issue
Block a user