mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 13:00:52 +08:00
Fixed: #397
fix(auth): use proxy HTTP client for Gemini CLI token requests
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user