Configurar um Storefront híbrido com autenticação híbrida
Com o B2C Commerce versão 25.3, a autenticação híbrida (auth) substitui a opção de plug-in SLAS cartucho.
A autenticação híbrida é uma solução autônoma para implementações de site que precisam de autorização Storefront Reference Architecture (SFRA)/SiteGenesis (SG) e autorização Shopper Login and API Access Service (SLAS). Isso significa que você precisa de um dwsid (SFRA/Site Genesis) e um JSON Web Token (SLAS), e esses tokens devem ser mantidos em sincronia. A autenticação híbrida é uma melhoria em relação à abordagem de SLAS de plug-ins, oferecendo um método mais eficiente e simplificado.
A autenticação híbrida melhora o desempenho e a estabilidade de lojas (virtuais) híbridas movendo o recurso diretamente para a plataforma do B2C Commerce.
É altamente recomendável migrar para a autenticação híbrida para que você possa aproveitar o desempenho aprimorado e o fluxo de trabalho simplificado.
Este guia explica como configurar a autenticação híbrida para uma vitrine híbrida que faz parte SFRA/SiteGenesis e parte da Storefront componível.
Para obter mais informações sobre autenticação híbrida, consulte Autenticação híbrida.
As tarefas envolvidas em uma implementação híbrida com autenticação híbrida incluem:
- Conclua as etapas em Autenticação híbrida.
- Configurar autenticação híbrida para Storefront componível (obrigatório).
- Use as zonas CDN da Commerce API para encaminhar o tráfego para o tempo de execução gerenciado. Consulte as APIs da CDN para obter distribuições sem cabeça em fases (obrigatório).
- Obtenha o Analytics usando Atividades do Einstein para implementações headless em fases (opcional)
Para usar a autenticação híbrida, crie seu site com:
-
commerce-sdk-react@3.3.0 ou posterior
-
Progressive Web App (PWA) Kit versão 3.10 ou posterior
A tabela a seguir compara PWA Kit suporte a recursos para Plugin SLAS versus Hybrid Auth.
| Nome do | recurso suportado em PWA Kit w. Plugin SLAS | suportado em PWA Kit w. Notas de | autenticação híbrida |
|---|---|---|---|
| SiteGenesis | N | Y | |
| IDPs de terceiros e login | social N | parcialmente suportados a partir de 30/04/2025. |
|
| Login | sem senha N | Y | |
| SLAS Clientes Particulares | Y | Y | |
| O suporte a SLAS Public Clients | Y | N* | Hybrid Auth está planejado para uma versão futura. |
| SLAS Trusted System (TSOB) | N | Y | |
| Script API funcionalidade | "Lembrar de mim" N | N/A
|
|
| PWA Kit Versão 2.x | Y | N* | Para HA, o suporte para PWA Kit 2.x depende do suporte ao cliente público SLAS e está planejado para uma versão futura. |
| PWA Kit versão 3.x | Y | Y _ | salesforce/commerce-sdk-react v3.2.0_ vem empacotada com PWA Kit 3.9.0. |
| Do Not Track (DNT) | N | Y | Você deve executar etapas específicas para habilitar e sincronizar o DNT. Consulte o guia de documentação. |
| Shopper Context | N | Y |
|
| Exclusão | de controlador Y | N | Na autenticação híbrida, não há necessidade de excluir nenhum controlador. |
| Personalização | de configuração de cookie Y, via personalização | N/D | Na Autenticação híbrida, ao contrário plugin_SLAS do , você não tem mais acesso ao objeto de cookie e não pode mais substituir as configurações de cookies. |
*O suporte está planejado para uma versão futura.
Para configurar a autenticação híbrida para uma vitrine híbrida que faz parte SFRA/SiteGenesis e parte da Storefront componível, siga estas etapas descritas em detalhes neste guia.
- Configure as Regras de origem da Rede de Distribuição de Conteúdo Incorporado (eCDN).
- Crie um PWA Kit Retail React App.
- Atualizar PWA Kit rotas.
- Atualize @salesforce/commerce-sdk-react.
- Ative os cookies no tempo de execução gerenciado.
- Remova o SLAS do plug-in do caminho do cartucho.
- Ativar/desativar a sincronização Não rastrear.
Configure a rede de distribuição de conteúdo incorporada (eCDN) para enviar solicitações de página na parte superior do funil para a vitrine composta: página inicial (/), página de listagem de categorias (/category) e página de detalhes do produto (/product). Essas páginas são implantadas em um ambiente MRT (Managed Runtime) em execução no mystorefront.mobify-storefront.com. Quando o comprador decide fazer uma compra, o eCDN redireciona o comprador para a página de checkout do SFRA/SG existente em execução no www.mystorefront.com.
- Para usar as zonas CDN da Commerce API para rotear o tráfego para o tempo de execução gerenciado, siga as etapas em APIs de CDN para implementações híbridas.
Para obter mais informações sobre roteamento de tráfego para MRT, consulte:
Faça 1 ou 2.
- Criar um Retail React App com SLAS configuração de cliente privado
- Crie um aplicativo PWA Kit executando o seguinte comando de gerador em uma janela de terminal:
npx @salesforce/pwa-kit-create-app my-hybrid-storefront - Selecione O aplicativo de varejo usando sua própria instância de Commerce Cloud.
- Siga as instruções no terminal.
- Responda Sim quando perguntado Seu cliente SLAS é privado?
- Crie um aplicativo PWA Kit executando o seguinte comando de gerador em uma janela de terminal:
ou
- Como alternativa, você pode gerar um Retail React App com uma configuração predefinida e alterar o ID do cliente SLAS para seu cliente particular depois que o aplicativo for gerado.
- Siga as etapas no Início Rápido.
- Usar um cliente SLAS privado
- Verifique se o SLAS Client usado para autenticação híbrida inclui o
sfcc.session_bridgeescopo.
Por padrão, o PWA Kit usa a History API para navegação. Quando um comprador clica em um link criado com o componente do React Router, é acionada uma navegação “soft” até o componente que corresponde ao objeto de rota definido em app/routes.jsx. Para vincular uma página que não use o PWA Kit (alimentada pelo SFRA, por exemplo), é preciso remover todas as rotas que correspondam ao nome do caminho do URL em app/routes.jsx.
-
Se seu projeto PWA Kit foi gerado com a versão 3.x do modelo Retail React App usando a extensibilidade do modelo, você pode substituir o
overrides/app/routes.jsxarquivo para filtrar links para páginas que não PWA Kit usando JavaScript.Criamos um exemplo de substituição do
overrides/app/routes.jsxarquivo com todas as alterações em vigor para filtrar e/cart/checkoutrotetar. Personalize o código de substituição de exemplo nesta essência pública para filtrar links para páginas que não PWA Kit. -
Por fim, atualize a rota geral do PWA (
/*) emapp/routes.jsx. Substitua o PWA pelo componente<PageNotFound />com um redirecionamento para a origem-padrão.
- Se seu site usa commerce-sdk-react, atualize para
@salesforce/commerce-sdk-react@3.2.0ou posterior.
Quando a Autenticação híbrida está habilitada, SLAS /oauth2/token solicitações contêm uma ponte dwsid de sessão usando o Set-Cookie cabeçalho na resposta.
Em Managed Runtime, habilite a passagem de cookies:
- Faça logon no Managed Runtime Admin.
- Navegue até seu projeto e ambiente.
- Clique em Environment Settings (Configurações do ambiente).
- Role até a seção Avançado e selecione o botão Editar.
- Ative a opção ao lado de Cookies.
- Role até a seção Avançado e selecione Atualizar.
- Aguarde a reimplantação do pacote do Storefront.
Essas etapas se aplicam somente se você já usou o Plugin SLAS em sua vitrine híbrida. Se você tiver uma nova vitrine híbrida e nunca tiver usado o Plugin SLAS antes, ignore estas etapas.
Com a migração para o B2C Commerce híbrido auth, PWA Kit não usa mais o Plugin SLAS. Para remover o Plugin SLAS da sua vitrine híbrida:
- Vá para Administração > Sites > Gerenciar Sites > Selecione Site.
- Vá para a guia Configurações.
- Remova o SLAS do plug-in do caminho do cartucho.
- Se você tiver personalizações de código relacionadas à autenticação do comprador, mas não específicas do SLAS de plug-ins, elas devem continuar funcionando como estão.
- Se você fez alguma personalização específica do SLAS de plug-ins, revise essas personalizações. Essas alterações podem não ser necessárias ou talvez você precise reimplementá-las em um cartucho diferente.
- Siga as práticas recomendadas. Todas as personalizações de código devem ser implementadas em um cartucho separado, em vez de diretamente no código do cartucho SFRA pronto para uso.
- Certifique-se de que, ao alternar para a autenticação híbrida, nenhum código de cartucho personalizado chame pontos de extremidade de ponte de sessão. Isso causará problemas nas sessões do comprador. O Hybrid auth agora cuida das sessões de compra para você.
Para sites somente SFRA, quando a autenticação híbrida está habilitada para a extensão de logon do comprador, o valor DNT é sincronizado automaticamente com a sessão estendida, garantindo uma experiência perfeita entre as sessões.
- Para ativar/desativar a sincronização de não rastrear (DNT) no Business Manager, navegue até Ferramentas do > comerciante Selecione Site Preferências > do site > Configurações de autenticação híbrida.
Quando você habilita a autenticação híbrida e a sincronização DNT, o consentimento de rastreamento fornecido por um comprador em um site é sincronizado automaticamente com o outro site. Por exemplo, em um site híbrido em que a home page é executada em PWA Kit e a página do carrinho é executada em SFRA:
- Na página inicial (PWA Kit), o comprador recebe um formulário de consentimento e fornece sua preferência de rastreamento.
- Quando o comprador navega até a página do carrinho (SFRA), o valor DNT de PWA Kit é sincronizado com SFRA.
- Como resultado, a página SFRA carrinho não solicita novamente ao comprador o consentimento de rastreamento.
Se você personalizou ou planeja personalizar a implementação de DNT padrão, a sincronização padrão pode não ser necessária nem funcionar conforme o esperado. Nesses casos, você pode desabilitar a sincronização DNT usando uma preferência de site. Você ainda pode habilitar a autenticação híbrida mesmo se a sincronização DNT estiver desativada.
Há uma diferença fundamental na expiração do cookie DNT entre SFRA e PWA Kit:
- SFRA define o cookie DNT para expirar no final da sessão.
- PWA Kit define a expiração para corresponder à vida útil do token de atualização (por exemplo, 30 dias para compradores convidados).
Quando um comprador se move de uma página de PWA Kit para uma página de SFRA, a expiração do cookie DNT muda da expiração do token de atualização para uma expiração baseada em sessão. Se o comprador fechar o navegador, o cookie será excluído. Como resultado, quando o comprador retorna, o banner de consentimento de rastreamento é exibido novamente como esperado.
É altamente recomendável testar sua configuração híbrida em um ambiente local. Para fazer isso, você deve configurar um proxy reverso porque o eCDN não oferece suporte a SIGs e ODS. Para configurar e testar seu site híbrido localmente em instâncias SIG, você deve usar seu próprio proxy reverso ou CDN para dividir o tráfego.
Criamos um exemplo de aplicativo Node.js que pode ser usado para desenvolver e testar fluxos de comprador com implantação híbrida no PWA Kit e no SFRA/SiteGenesis. As instruções de instalação, configuração e teste para configurar o proxy reverso são mencionadas no LEIA-ME do repositório.
Você pode configurar a ODS para usar uma configuração de alias semelhante à configuração de produção. Isso pode ajudar a manter suas configurações locais e de produção idênticas. Por exemplo, configurar sua sandbox de forma que seu site híbrido esteja disponível no URI / assegura que os URLs enviados por pwa-kit não precisem ser traduzidos para incluir o ID do site. É assim que um site de Production é normalmente configurado.
Para habilitar aliases no Business Manager, siga as instruções neste módulo para Aliases de nome de host no Salesforce B2C Commerce no Trailhead.
Você pode configurar suas rotas do PWA Kit para prefixar todos os URLs de saída (por exemplo, aqueles destinados à SFRA) para incluir o prefixo /s/SiteID. Isso assegura que todas as instâncias recebam URLs do controlador da forma normalmente usada em sandboxes sem precisar configurar explicitamente os aliases de nome de host. É importante destacar que isso pode não ser adequado para a configuração de Production. Sendo assim, talvez seja melhor ter uma rota universal diferente para implantações de Production e Sandbox.
Para configurar prefixos de rota, atualize a rota de captura geral do PWA (/*) em app/routes.jsx ou overrides/app/routes.jsx.