Configurazione di uno storefront ibrido con l'autenticazione ibrida
Con B2C Commerce versione 25.3, l'autenticazione ibrida (autentica) sostituisce l'opzione del cartridge SLAS del plug-in.
L'autenticazione ibrida è una soluzione autonoma per le implementazioni di siti che richiedono sia l'autorizzazione Storefront Reference Architecture (SFRA)/SiteGenesis (SG) sia l'autorizzazione Shopper Login and API Access Service (SLAS). Ciò significa che sono necessari sia un dwsid
token Web (SFRA/SiteGenesis) che un token Web JSON (SLAS) e che questi token devono essere mantenuti sincronizzati. L'autenticazione ibrida è un miglioramento rispetto all'approccio Plugin SLAS, che offre un metodo più efficiente e semplificato.
L'autenticazione ibrida migliora le prestazioni e la stabilità degli storefront ibridi spostando la funzionalità direttamente nella piattaforma B2C Commerce.
È vivamente consigliato eseguire la migrazione all'autenticazione ibrida in modo da poter sfruttare le prestazioni migliorate e il flusso di lavoro semplificato.
Questa guida spiega come configurare l'autenticazione ibrida per uno storefront ibrido in parte SFRA/SiteGenesis e in parte storefront componibile.
Per ulteriori informazioni sull'autenticazione ibrida, vedere Autenticazione ibrida.
Le attività coinvolte in un'implementazione ibrida con autenticazione ibrida includono:
- Completare la procedura descritta in Autenticazione ibrida.
- Configurazione dell'autenticazione ibrida per lo storefront componibile (obbligatorio).
- Utilizzare le zone CDN di Commerce API per instradare il traffico al runtime gestito. Vedere API CDN per implementazioni headless in più fasi (obbligatorio).
- Recupero dati analitici tramite Einstein Activities per implementazioni headless in fasi (facoltativo)
Per utilizzare l'autenticazione ibrida, crea il tuo sito con:
-
commerce-sdk-react@3.3.0 o versioni successive
-
Progressive Web App (PWA) Kit versione 3.10 o successiva
Nella tabella seguente viene confrontato il supporto delle funzionalità di PWA Kit per Plug-in SLAS e Hybrid Auth.
Nome | della funzione supportato in PWA Kit w. Plugin SLAS | supportato in PWA Kit w. Note sull'autenticazione | ibrida |
---|---|---|---|
SiteGenesis | N | Y | |
Sfollati interni di terze parti e accesso | social N | Parzialmente supportato a partire dal 30/04/2025. |
|
Accesso | senza password N | Y | |
SLAS Clienti | Privati Y | Y | |
Il supporto per i client | pubblici SLAS Y | N* | Hybrid Auth è previsto per una versione futura. |
SLAS Trusted System (TSOB) | N | Y | |
Funzionalità | "Memorizza accesso" dell'Script API N | N/D
|
|
PWA Kit versione 2.x | Y | N* | Per HA, il supporto per PWA Kit 2.x dipende dal supporto del client pubblico SLAS ed è pianificato per una versione futura. |
PWA Kit versione 3.x | Y | Y _ | salesforce/commerce-sdk-react v3.2.0_ viene fornito con PWA Kit 3.9.0. |
Do Not Track (DNT) | N | Y | È necessario eseguire passaggi specifici per abilitare e sincronizzare DNT. Consulta la guida alla documentazione. |
Contesto | acquirente N | Y |
|
Esclusione | controller Y | N | In Hybrid Auth, non è necessario escludere alcun controller. |
Personalizzazione | dell'impostazione dei cookie Y, tramite la personalizzazione | N/D | In Hybrid Auth, a differenza plugin_SLAS di , non si ha più accesso all'oggetto cookie e non è più possibile ignorare le impostazioni dei cookie. |
*Il supporto è previsto per una versione futura.
Per configurare l'autenticazione ibrida per uno storefront ibrido in parte SFRA/SiteGenesis e in parte Storefront componibile, attenersi alla seguente procedura descritta in dettaglio in questa guida.
- Impostare le regole di origine della rete eCDN (Embedded Content Delivery Network).
- Crea un'app PWA Kit Retail React App.
- Aggiorna i percorsi del PWA Kit.
- Eseguire l'aggiornamento @salesforce/commerce-sdk-react.
- Abilitare i cookie nel runtime gestito.
- Rimuovere lo SLAS del plug-in dal percorso della cartuccia.
- Abilita/disabilita la sincronizzazione Do Not Track.
Configurare la rete eCDN (Embedded Content Delivery Network) per l'invio di richieste di pagina nella parte superiore della canalizzazione allo storefront componibile: home page (/), pagina elenco categoria (/category) e pagina dettagli prodotto (/product). Queste pagine vengono distribuite in un ambiente di runtime gestito (MRT) in esecuzione su mystorefront.mobify-storefront.com. Quando l'acquirente decide di effettuare un acquisto, la eCDN lo reindirizza alla pagina di checkout SFRA/SG esistente in esecuzione su www.mystorefront.com
.
- Per utilizzare le zone CDN di Commerce API per instradare il traffico al runtime gestito, seguire la procedura descritta in API CDN per implementazioni ibride.
Per ulteriori informazioni sul routing del traffico a MRT, vedere:
Fai 1 o 2.
- Creazione di una configurazione client privata di Retail React App con SLAS
- Crea un'app PWA Kit eseguendo il seguente comando generator in una finestra del terminale:
npx @salesforce/pwa-kit-create-app my-hybrid-storefront
- Selezionare l'app Retail utilizzando la propria istanza di Commerce Cloud.
- Seguire le istruzioni nel terminale.
- Rispondi Sì quando ti viene chiesto : il tuo client SLAS è privato?
- Crea un'app PWA Kit eseguendo il seguente comando generator in una finestra del terminale:
o
- In alternativa, è possibile generare una Retail React App con una configurazione preimpostata e modificare l'ID client SLAS nel client privato una volta generata l'app.
- Seguire la procedura descritta nella Guida introduttiva.
- Uso di un client privato SLAS
- Assicurarsi che il client SLAS utilizzato per l'autenticazione ibrida includa l'ambito
sfcc.session_bridge
.
Per impostazione predefinita, PWA Kit utilizza History API per la navigazione. Quando un acquirente fa clic su un link creato con il componente di React Router, viene attivata una navigazione soft verso il componente corrispondente al percorso nell'oggetto route definito in app/routes.jsx
. Per creare un link a una pagina non realizzata con PWA Kit (ad esempio basata su SFRA), è necessario rimuovere da app/routes.jsx
qualsiasi route corrispondente al nome del percorso URL.
-
Se il progetto PWA Kit è stato generato con la versione 3.x del modello Retail React App utilizzando l'estensibilità del modello, è possibile sostituire il file per filtrare i
overrides/app/routes.jsx
collegamenti a pagine non PWA Kit utilizzando JavaScript.È stato creato un esempio di override del
overrides/app/routes.jsx
file con tutte le modifiche apportate per filtrare/cart
e/checkout
instradare. Personalizza il codice di override di esempio in questo gist pubblico per filtrare i collegamenti a pagine non PWA Kit. -
Infine, aggiornare la route generica PWA (
/*
) inapp/routes.jsx
. Sostituire il componente<PageNotFound />
PWA con un reindirizzamento all'origine predefinita.
- Se il sito utilizza commerce-sdk-react, eseguire l'upgrade a una versione successiva o successiva
@salesforce/commerce-sdk-react@3.2.0
.
Quando l'autenticazione ibrida è abilitata, le richieste SLAS /oauth2/token
contengono un bridge dwsid
di sessione utilizzando l'intestazione Set-Cookie
nella risposta.
In Runtime gestito, abilitare il passthrough dei cookie:
- Accedere a Managed Runtime Admin.
- Passare al progetto e all'ambiente.
- Fare clic su Environment Settings (Impostazioni ambiente).
- Scorri fino alla sezione Avanzate e seleziona il pulsante Modifica.
- Abilita l'interruttore accanto a Cookie.
- Torna alla sezione Avanzate e seleziona Aggiorna.
- Attendere la ridistribuzione del bundle dello storefront.
Questi passaggi si applicano solo se in precedenza è stato utilizzato il plug-in SLAS nello storefront ibrido. Se disponi di un nuovo storefront ibrido e non hai mai utilizzato Plugin SLAS prima d'ora, puoi saltare questi passaggi.
Con la migrazione all'autenticazione ibrida di B2C Commerce, PWA Kit non utilizza più il plug-in SLAS. Per rimuovere Plugin SLAS dallo storefront ibrido:
- Passare ad AmministrazioneSitiGestione > > siti, > selezionare Sito.
- Vai alla scheda Impostazioni.
- Rimuovere Plugin SLAS dal percorso della cartuccia.
- Se sono presenti personalizzazioni del codice relative all'autenticazione degli acquirenti ma non specifiche per il plug-in SLAS, dovrebbero continuare a funzionare così come sono.
- Se hai apportato personalizzazioni specifiche del plug-in SLAS, esaminale. Tali modifiche potrebbero non essere necessarie o potrebbe essere necessario implementarle nuovamente in un cartridge diverso.
- Seguire le best practice. Tutte le personalizzazioni del codice devono essere implementate in un cartridge separato anziché direttamente nel codice del cartridge SFRA pronto all'uso.
- Quando si passa all'autenticazione ibrida, assicurarsi che nessuno dei codici del cartridge personalizzato richiami gli endpoint di bridging della sessione. Ciò causerà problemi nelle sessioni acquirente. L'autenticazione ibrida ora si occupa delle sessioni degli acquirenti per te.
Per i siti solo SFRA, quando l'autenticazione ibrida è abilitata per l'estensione di accesso acquirente, il valore DNT viene sincronizzato automaticamente con la sessione estesa, garantendo un'esperienza fluida tra le sessioni.
- Per abilitare/disabilitare la sincronizzazione Do Not Track (DNT) in Business Manager, passare a Strumenti per il commerciante Selezionare sito > Preferenze > del sito Impostazioni di autenticazione > ibrida.
Quando si abilita sia l'autenticazione ibrida che la sincronizzazione DNT, il consenso al monitoraggio fornito da un acquirente su un sito viene sincronizzato automaticamente con l'altro sito. Ad esempio, in un sito ibrido in cui la home page viene eseguita su PWA Kit e la pagina del carrello su SFRA:
- Sulla home page (PWA Kit), all'acquirente viene presentato un modulo di consenso e fornisce la propria preferenza di tracciamento.
- Quando l'acquirente passa alla pagina del carrello (SFRA), il valore DNT di PWA Kit viene sincronizzato con SFRA.
- Di conseguenza, la pagina del carrello SFRA non richiede nuovamente all'acquirente il consenso al monitoraggio.
Se è stata personalizzata o si prevede di personalizzare l'implementazione DNT predefinita, la sincronizzazione predefinita potrebbe non essere necessaria o funzionare come previsto. In questi casi, è possibile disabilitare la sincronizzazione DNT utilizzando una preferenza del sito. È comunque possibile abilitare l'autenticazione ibrida anche se la sincronizzazione DNT è disattivata.
C'è una differenza fondamentale nella scadenza dei cookie DNT tra SFRA e PWA Kit:
- SFRA imposta il cookie DNT in modo che scada al termine della sessione.
- PWA Kit imposta la scadenza in modo che corrisponda alla durata del token di aggiornamento (ad esempio, 30 giorni per gli acquirenti ospiti).
Quando un acquirente passa da una pagina PWA Kit a una pagina SFRA, la scadenza del cookie DNT passa dalla scadenza del token di aggiornamento a una scadenza basata sulla sessione. Se l'acquirente chiude il browser, il cookie viene eliminato. Di conseguenza, quando l'acquirente ritorna, il banner di consenso al monitoraggio viene nuovamente visualizzato come previsto.
Si consiglia vivamente di testare la configurazione ibrida in un ambiente locale. A tale scopo, è necessario configurare un proxy inverso, poiché la rete eCDN non supporta SIG e ODS. Per configurare e testare il sito ibrido localmente su istanze SIG, è necessario utilizzare il proprio proxy inverso o CDN per suddividere il traffico.
È stata creata un'app Node.js di esempio che può essere utilizzata per sviluppare e testare i flussi di acquirenti con distribuzione ibrida su PWA Kit e SFRA/SiteGenesis. Le istruzioni per l'installazione, la configurazione e il test per l'impostazione del proxy inverso sono riportate nel file README del repository.
È possibile configurare la propria istanza ODS affinché utilizzi la configurazione di un alias simile alla configurazione di produzione. In questo modo è possibile mantenere identiche le impostazioni locali e di produzione. Ad esempio, se si configura la Sandbox in modo che il sito ibrido sia disponibile all'URI /
, gli URL inviati da pwa-kit includeranno l'ID di sito senza dover essere tradotti. Questa è la configurazione tipica di un sito Production.
Per abilitare gli alias in Business Manager, seguire le istruzioni in questo modulo per Salesforce B2C Commerce Hostname Aliases in Trailhead.
È possibile configurare le route PWA Kit in modo da includere il prefisso /s/SiteID
a tutti gli URL in uscita (ad esempio quelli destinati a SFRA). In questo modo, l'istanza riceverà gli URL del controller secondo la modalità normalmente utilizzata nelle Sandbox senza che sia necessario configurare esplicitamente gli alias dei nomi host. Questa configurazione potrebbe non essere appropriata per gli ambienti Production. Pertanto, è consigliabile prevedere una route generica diversa a seconda che la distribuzione sia Production o Sandbox.
Per configurare i prefissi route, aggiornare la route generica PWA (/*
) in app/routes.jsx
o overrides/app/routes.jsx
.