ACSD-61895: query GraphQL categories non riuscita per catalogo condiviso privato con visualizzazione limitata

La patch ACSD-61895 risolve il problema per cui GraphQL risposte per i clienti guest (utilizzando un catalogo condiviso pubblico con tutte le categorie consentite) non restituivano alcuna categoria quando veniva creato un catalogo condiviso privato con restrizioni per le stesse categorie.

Dopo la correzione, vengono restituite tutte le categorie con autorizzazioni consentite (catalogo condiviso pubblico) per gli utenti guest, anche se la categoria principale non dispone di autorizzazioni consentite nell’ambito di un catalogo condiviso privato.

Questa patch è disponibile quando è installato Quality Patches Tool (QPT) 1.1.57. L’ID della patch è ACSD-61895. Il problema è pianificato per essere risolto in Adobe Commerce 2.4.8.

Prodotti e versioni interessati

La patch è stata creata per la versione di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.7-p1

Compatibile con le versioni di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.4 - 2.4.7-p3
NOTE
La patch potrebbe diventare applicabile ad altre versioni con le nuove versioni di Quality Patches Tool. Per verificare se la patch è compatibile con la versione di Adobe Commerce in uso, aggiornare il pacchetto magento/quality-patches alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.

Problema

GraphQL le risposte per i clienti guest (utilizzando un catalogo condiviso pubblico con tutte le categorie consentite) non restituiscono alcuna categoria quando viene creato un catalogo condiviso privato con restrizioni per le stesse categorie.

Passaggi da riprodurre:

  1. Installa Adobe Commerce con B2B e dati di esempio.

  2. Assicurati che le funzioni B2B siano abilitate.

  3. Crea due cataloghi condivisi: uno pubblico e uno privato.

    • Catalogo condiviso pubblico:

      • Assegna tutte le categorie al catalogo pubblico.
    • Catalogo condiviso privato:

      • Assegnare solo la categoria Gear e le relative categorie figlio al catalogo privato.
      • Assegna il catalogo privato a una società di test.
  4. Creare un utente aziendale:

    • Crea un utente associato alla società di test collegata al catalogo condiviso privato.
    • Assicurarsi che l'utente sia in grado di accedere solo alla categoria Gear e alle relative categorie figlio sul front-end al momento dell'accesso.
  5. Query di categorie tramite API:

    • Utilizza il client API per eseguire la seguente query GraphQL senza un token cliente:
    code language-graphql
    query Categories {
        categories {
            items {
                children_count
                children {
                    uid
                    name
                    children_count
                    children {
                    uid
                    name
                    }
                }
            }
        }
    }
    
  6. Osservare la risposta e verificare se vengono restituite la categoria Gear e altre categorie.

  7. Ora esegui una query sulle categorie con un token cliente:

    • Accedi come utente della società di test.
    • Eseguire la stessa query di categoria GraphQL, ma includere il token cliente per l'utente connesso.
    • Osservare la risposta e verificare se vengono restituite solo la categoria Gear e le relative categorie figlio.

Risultati previsti:

Quando si esegue una query come utente della società ospite, devono essere restituite tutte le categorie (come previsto).

Risultati effettivi:

La risposta dalla query categories non mostra categorie.

Applicare la patch

Per applicare singole patch, utilizzare i collegamenti seguenti, a seconda del metodo di distribuzione utilizzato:

Lettura correlata

Per ulteriori informazioni su Quality Patches Tool, vedere:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3