fix(auth): use proxy HTTP client for Gemini CLI token requests
This commit is contained in:
Luis Pater
2025-12-02 22:39:01 +08:00
parent 35fdc4cfd3
commit a67b6811d1

View File

@@ -891,6 +891,8 @@ func (h *Handler) RequestAnthropicToken(c *gin.Context) {
func (h *Handler) RequestGeminiCLIToken(c *gin.Context) { func (h *Handler) RequestGeminiCLIToken(c *gin.Context) {
ctx := context.Background() ctx := context.Background()
proxyHTTPClient := util.SetProxy(&h.cfg.SDKConfig, &http.Client{})
ctx = context.WithValue(ctx, oauth2.HTTPClient, proxyHTTPClient)
// Optional project ID from query // Optional project ID from query
projectID := c.Query("project_id") projectID := c.Query("project_id")
@@ -976,7 +978,7 @@ func (h *Handler) RequestGeminiCLIToken(c *gin.Context) {
requestedProjectID := strings.TrimSpace(projectID) requestedProjectID := strings.TrimSpace(projectID)
// Create token storage (mirrors internal/auth/gemini createTokenStorage) // Create token storage (mirrors internal/auth/gemini createTokenStorage)
httpClient := conf.Client(ctx, token) authHTTPClient := conf.Client(ctx, token)
req, errNewRequest := http.NewRequestWithContext(ctx, "GET", "https://www.googleapis.com/oauth2/v1/userinfo?alt=json", nil) req, errNewRequest := http.NewRequestWithContext(ctx, "GET", "https://www.googleapis.com/oauth2/v1/userinfo?alt=json", nil)
if errNewRequest != nil { if errNewRequest != nil {
log.Errorf("Could not get user info: %v", errNewRequest) log.Errorf("Could not get user info: %v", errNewRequest)
@@ -986,7 +988,7 @@ func (h *Handler) RequestGeminiCLIToken(c *gin.Context) {
req.Header.Set("Content-Type", "application/json") req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token.AccessToken)) req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token.AccessToken))
resp, errDo := httpClient.Do(req) resp, errDo := authHTTPClient.Do(req)
if errDo != nil { if errDo != nil {
log.Errorf("Failed to execute request: %v", errDo) log.Errorf("Failed to execute request: %v", errDo)
oauthStatus[state] = "Failed to execute request" oauthStatus[state] = "Failed to execute request"