Kundgruppsnamn, segment och kampanjregelinformation som visas via GraphQL
I den här artikeln finns en snabbkorrigering som förhindrar exponering av kundgruppsnamn, kundsegment och kampanjregelinformation via GraphQL. Problemet är schemalagt att åtgärdas i Adobe Commerce 2.4.8-p1.
Beskrivning description
Berörda produkter och versioner
Korrigeringen har skapats för Adobe Commerce-version:
- Adobe Commerce (alla distributionsmetoder) 2.4.8
Kompatibel med Adobe Commerce-versioner:
- Adobe Commerce (alla distributionsmetoder) 2.4.8
Problem
För Storefront Personalization Drop-ins introducerades nya GraphQL-mutationer för att visa grundläggande information som kundgruppsnamn, segment, kundvagn och katalogregler. Detta kan emellertid visa känsliga data, t.ex. erbjudandeinformation eller kupongkoder, om de ingår i namnen.
Steg som ska återskapas
Fall I: Katalogregel
-
Gå till Marknadsföring på sidofältet Admin
>Katalogprisregel>Lägg till ny regel. -
Definiera regelvillkoren (till exempel produktattribut eller kategori).
-
Spara och använd regeln.
-
Se till att en produkt uppfyller regelvillkoren.
-
Kör följande GraphQL-fråga för att hämta alla regler:
code language-none query { allCatalogRules { name } } -
Fråga en produkt för att verifiera om regeln gäller:
code language-none query { products(filter: { sku: { eq: "product-sku" } }) { items { name rules { name } } } }
Fall II: Versionsregel
-
Gå till Marknadsföring på sidofältet Admin
>Kundprisregel>Lägg till ny regel. -
Ange villkor som minsta kundvagnsvärde och kundgrupp.
-
Spara och använd regeln.
-
Lägg till produkter i kundvagnen för att utlösa regeln.
-
Använd GraphQL för att verifiera alla kundvagnsregler:
code language-none query { allCartRules { name } } -
Kontrollera om regler har tillämpats på den aktiva kundvagnen:
code language-none query { cart(cart_id: "your-cart-id") { rules { name } } }
Fall III: Kundgrupp
-
Gå till Kunder på sidofältet Admin
>Kundgrupper. -
Kontrollera att de förväntade grupperna finns.
-
Använd GraphQL för att hämta alla grupper:
code language-none query { allCustomerGroups { name } } -
Verifiera kundens/gästens grupp:
code language-none query { customerGroup { name } }
Fall IV: Kundsegment (endast för Adobe Commerce)
-
Gå till Kunder på sidofältet Admin
>Kundsegment>Lägg till segment. -
Definiera kundbaserade villkor (t.ex. order, kundvagnsinnehåll).
-
Tilldela relevant omfång: Besökare, Registrerad eller båda.
-
Se till att villkoren matchar en testkund.
-
Använd GraphQL för att kontrollera alla segment:
code language-none query { allCustomerSegments { name apply_to } } -
Validera de segment som används i en kundvagn:
code language-none query { customerSegments(cartId: "your-cart-id") { name } }
Förväntat resultat:
Namn på kundgrupper, segment och kampanjregelinformation visas inte via GraphQL.
Faktiskt resultat:
Namnen på kundgrupper, segment och kampanjregelinformation visas via GraphQL.
Upplösning resolution
Använd de bifogade patcharna beroende på vilken version av Adobe Commerce du har:
-
För Adobe Commerce version 2.4.8:
-
För Magento Open Source version 2.4.8: