Habilidades para o sucesso
Ask the Community
Decidir qual CDN usar
Criar uma On-Demand Sandbox
Múltiplos sites
Administração MRT
Configurar o acesso à API
Configurar o ambiente local
Usar um cliente privado SLAS
Os clientes da Shopper Login and API Access (SLAS) API permitem que seu aplicativo autentique e autorize os compradores. Os clientes SLAS vêm em dois tipos: público e privado.
Os clientes SLAS privados oferecem várias vantagens sobre um cliente público, incluindo:
Para tirar proveito de um cliente SLAS privado, seu projeto deve ser capaz de armazenar com segurança um segredo do cliente.
Considere o uso de um cliente público se seu projeto for executado no lado do cliente e precisar se comunicar diretamente com SLAS.
O PWA Kit 3.5 e superior aceita o uso de clientes SLAS públicos e privados.
Todas as versões do PWA anteriores a PWA Kit 3.5 oferecem suporte apenas a clientes SLAS públicos .
Note
Se você já tem um site PWA Kit usando um cliente SLAS público, recomendamos que continue lendo e considere mudar para um cliente privado.
Antes de executar os comandos neste guia, substitua os espaços reservados por valores reais. Os espaços reservados são formatados da seguinte maneira: $PLACEHOLDER.
Ao trabalhar com clientes privados, deve-se tomar cuidado para não expor o segredo do cliente aos compradores e navegadores no lado do cliente.
Para ajudar a proteger o segredo do cliente, o Retail React App no PWA Kit armazena o lado do servidor secreto por meio do uso de variáveis de ambiente. Consulte Definir variáveis de ambiente para obter informações sobre como armazenar o segredo do cliente.
Em um nível alto, você fará o seguinte para configurar um cliente SLAS privado com seu site PWA Kit.
Este vídeo mostra como configurar um cliente privado SLAS para o PWA Kit e uma distribuição Headless em fases.
Comece completando as instruções em Autorização para Shopper APIs e Configurar o acesso à API para criar seu cliente SLAS privado.
Depois de criar seu cliente SLAS privado, siga as etapas abaixo para usá-lo com seu site PWA Kit:
config/default.js, defina o clientId da commerceAPI como seu ID do cliente SLAS privado.1clientId: '$YOUR_SLAS_PRIVATE_CLIENT_ID',Em seu _app-config/index.js, defina o enablePWAKitPrivateClient adereço de ’true.
1CommerceApiProvider enablePWAKitPrivateClient={true}Em seu ssr.js, defina a propriedade de opções useSLASPrivateClient passar para runtime.createHandler e para true:
1const options = {useSLASPrivateClient: true}
2const {handler} = runtime.createHandler(options, callback)Execute o seguinte comando para definir a variável de ambiente PWA_KIT_SLAS_CLIENT_SECRET localmente em um prompt de comando ativo:
export PWA_KIT_SLAS_CLIENT_SECRET=$YOUR_CLIENT_SECRETset PWA_KIT_SLAS_CLIENT_SECRET=$YOUR_CLIENT_SECRETEm um ambiente de desenvolvimento local, convém definir o PWA_KIT_SLAS_CLIENT_SECRET mais permanentemente para que ele seja incluído automaticamente quando você abrir um novo prompt de comando.
No Mac/Unix, você pode fazer isso definindo a variável de ambiente PWA_KIT_SLAS_CLIENT_SECRET no arquivo .bashrc da sua máquina.
No Windows, você pode fazer isso configurando a variável de ambiente PWA_KIT_SLAS_CLIENT_SECRET via Painel de Controle -> Sistema -> Avançado -> Variáveis de ambiente.
Note
Se você estiver executando seu site PWA Kit remotamente no Managed Runtime, poderá definir a variável de ambiente PWA_KIT_SLAS_CLIENT_SECRET ao executar o seguinte comando no terminal depois de substituir as variáveis para corresponder ao seu ambiente.
Para obter detalhes sobre como obter uma chave da Managed Runtime API e outras propriedades do seu ambiente remoto, consulte nosso guia Enviar por push e implantar pacotes de pacotes por push e implantação.
1curl "https://cloud.mobify.com/api/projects/$PROJECTID/target/$ENVIRONMENTID/env-var/" \
2 --request 'PATCH' \
3 --header 'Content-Type: application/json' \
4 --header 'Accept: application/json' \
5 --header "Authorization: Bearer $RUNTIME_ADMIN_API_KEY" \
6 --data '{ "PWA_KIT_SLAS_CLIENT_SECRET": {"value": "'$PWA_KIT_SLAS_CLIENT_SECRET'"} }'Para obter mais informações, consulte Variáveis de ambiente.
Essa configuração se aplica a uma vitrine híbrida que usa SLAS de plug-ins. Ela não se aplica se você estiver usando autenticação híbrida.
Note
Além das etapas de configuração do PWA Kit descritas acima, em uma loja (virtual) para lançamento em fases que esteja usando o PWA Kit e o SFRA, você também desejará atualizar o Plugin SLAS para usar seu cliente SLAS privado. Consulte o Leia-me do Plugin SLAS para obter instruções sobre como configurar um cliente SLAS privado para funcionar com SFRA.
Se estiver estendendo sua implementação do PWA Kit para usar outros endpoints SLAS que exijam clientes privados, como Logon sem senha, você poderá estender o conjunto de endpoints disponíveis usando a opção applySLASPrivateClientToEndpoints para runtime.createHandler:
1const options = {
2 useSLASPrivateClient: true,
3 applySLASPrivateClientToEndpoints: /oauth2\/(token|passwordless\/(login|token))/
4}
5const {handler} = runtime.createHandler(options, callback)Se você vir chamadas HTTP 400 para SLAS /authorize, o site PWA Kit está usando os fluxos de cliente SLAS público com seu ID de cliente privado. Em seu arquivo _app-config/index.js, defina a propriedade enablePWAKitPrivateClient dentro do CommerceAPIProvider como true.
Em um ambiente de desenvolvimento local, o servidor PWA Kit não será iniciado se a propriedade useSLASPrivateClient estiver habilitada em ssr.js e a variável de ambiente PWA_KIT_SLAS_CLIENT_SECRET não tiver sido definida. Defina a variável de ambiente para o segredo do cliente SLAS continuar.
Depois de implantar seu site PWA Kit no Managed Runtime, se você vir um erro HTTP 501 ao fazer uma chamada para SLAS, isso pode significar que a variável de ambiente PWA_KIT_SLAS_CLIENT_SECRET não foi definida. Depois de configurá-la, aguarde alguns minutos para que a alteração seja aplicada.