@@ -214,6 +214,18 @@ func listenAddressIsLoopback(addr string) bool {
214214 return ip != nil && ip .IsLoopback ()
215215}
216216
217+ func credentialIsolationNeedsAdminKeys (adminToken string , gatewayTokens ... string ) bool {
218+ if strings .TrimSpace (adminToken ) != "" {
219+ return true
220+ }
221+ for _ , token := range gatewayTokens {
222+ if strings .TrimSpace (token ) != "" {
223+ return true
224+ }
225+ }
226+ return false
227+ }
228+
217229func serve (args []string ) error {
218230 flags := flag .NewFlagSet ("serve" , flag .ContinueOnError )
219231 addr := flags .String ("addr" , "127.0.0.1:31415" , "listen address" )
@@ -334,9 +346,11 @@ func serve(args []string) error {
334346 return err
335347 }
336348 var adminKeys []accounts.AdminKeyEntry
337- gatewayTokensConfigured := geminiGatewayToken != "" || anthropicGatewayToken != "" || openAIGatewayToken != "" ||
338- (* bedrockEnable && resolvedBedrockGatewayToken != "" )
339- if gatewayTokensConfigured {
349+ bedrockGatewayTokenIfEnabled := ""
350+ if * bedrockEnable {
351+ bedrockGatewayTokenIfEnabled = resolvedBedrockGatewayToken
352+ }
353+ if credentialIsolationNeedsAdminKeys (* adminToken , geminiGatewayToken , anthropicGatewayToken , openAIGatewayToken , bedrockGatewayTokenIfEnabled ) {
340354 adminKeys , err = codexStore .ListAdminKeys ()
341355 if err != nil {
342356 return err
@@ -352,15 +366,11 @@ func serve(args []string) error {
352366 return err
353367 }
354368 inheritedListener := listenEnvSet && listenPID == os .Getpid () && listenFDCount > 0
355- bedrockGatewayTokenForValidation := ""
356- if * bedrockEnable {
357- bedrockGatewayTokenForValidation = resolvedBedrockGatewayToken
358- }
359369 gatewayCredentials := []teamGatewayCredential {
360370 {providerKey : geminiAPIKey , gatewayToken : geminiGatewayToken },
361371 {providerKey : anthropicAPIKey , gatewayToken : anthropicGatewayToken },
362372 {providerKey : openAIAPIKey , gatewayToken : openAIGatewayToken },
363- {gatewayToken : bedrockGatewayTokenForValidation , enabled : * bedrockEnable },
373+ {gatewayToken : bedrockGatewayTokenIfEnabled , enabled : * bedrockEnable },
364374 {providerKey : claudeFableAPIKey },
365375 }
366376 for _ , account := range append (append ([]accounts.Account (nil ), codexAccounts ... ), claudeAccounts ... ) {
0 commit comments