Ver Fonte

fix(oauth2): check HTTP status from Google userinfo endpoint

Frédéric Guillot há 7 meses atrás
pai
commit
1d4ca6a6bc
1 ficheiros alterados com 4 adições e 0 exclusões
  1. 4 0
      internal/oauth2/google.go

+ 4 - 0
internal/oauth2/google.go

@@ -59,6 +59,10 @@ func (g *googleProvider) GetProfile(ctx context.Context, code, codeVerifier stri
 	}
 	}
 	defer resp.Body.Close()
 	defer resp.Body.Close()
 
 
+	if resp.StatusCode != 200 {
+		return nil, fmt.Errorf("google: unexpected status code %d from userinfo endpoint", resp.StatusCode)
+	}
+
 	var user googleProfile
 	var user googleProfile
 	decoder := json.NewDecoder(resp.Body)
 	decoder := json.NewDecoder(resp.Body)
 	if err := decoder.Decode(&user); err != nil {
 	if err := decoder.Decode(&user); err != nil {