Utiliser un client privé SLAS

Les clients API Shopper Login and API Access (SLAS) permettent à votre application d’authentifier et d’autoriser les acheteurs. Il existe deux types de clients SLAS : publics et privés.

Les clients privés SLAS offrent plusieurs avantages par rapport à un client public, notamment :

  • Préautoriser les acheteurs invités à demander l’accès à une boutique, ce qui se traduit par des temps de chargement des pages plus rapides.
  • Activer l’utilisation de fonctionnalités non disponibles pour les clients publics SLAS, notamment la connexion sans mot de passe et la réinitialisation du mot de passe. Reportez-vous à Cas d’utilisation d’un client SLAS privé.

Pour tirer parti d’un client privé SLAS, votre projet doit être en mesure de stocker en toute sécurité une clé secrète client.

Envisagez d’utiliser un client public si votre projet s’exécute côté client et doit communiquer directement avec SLAS.

PWA’ Kit 3.5 et les versions ultérieures prennent en charge l’utilisation des clients SLAS publics et privés.

Toutes les versions de PWA antérieures à PWA Kit 3.5 ne prennent en charge que les clients publics SLAS.

Si vous avez déjà un site PWA Kit utilisant un client public SLAS, nous vous encourageons à lire la suite et à envisager de passer à un client privé.

Avant d’exécuter les commandes de ce guide, remplacez les espaces réservés par des valeurs réelles. Les espaces réservés sont formatés ainsi : $PLACEHOLDER.

Lorsque vous travaillez avec des clients privés, veillez à ne pas exposer la clé secrète client aux acheteurs et aux navigateurs côté client.

Pour aider à sécuriser la clé secrète client, la PWA Kit Retail React App stocke la clé secrète côté serveur à l’aide de variables d’environnement. Reportez-vous à Définir des variables d’environnementpour plus d’informations sur le stockage de la clé secrète client.

À un niveau élevé, vous allez procéder comme suit pour configurer un client privé SLAS avec votre site PWA Kit.

  • Créer le client privé SLAS
  • Configurer le PWA Kit
  • Définir des variables d’environnement

Commencez par suivre les instructions des pages Autorisation pour les API Shopper et Configurer l’accès aux API pour créer votre client privé SLAS.

Une fois que vous avez créé votre client privé SLAS, suivez les étapes ci-dessous pour l’utiliser avec votre site PWA Kit :

  1. Mettez à jour vers PWA Kit v3.5 ou supérieure.
  2. Dans votre ssr.js, définissez la propriété useSLASPrivateClient des options passant à runtime.createHandler sur true :
  3. Dans votre _app-config/index.js, définissez la propriété enablePWAKitPrivateClient de <CommerceAPIProvider> sur true.
  4. Dans votre fichier de configuration PWA Kit, définissez votre commerceAPI clientId sur votre ID de client privé SLAS.
  5. Dans votre environnement, définissez la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET sur votre clé secrète client privé SLAS.
  1. Dans votre fichier de configuration PWA Kit, définissez votre commerceAPI clientId sur votre ID de client privé SLAS.
  2. Dans votre environnement, définissez la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET sur votre clé secrète client privé SLAS.

Exécutez la commande suivante pour définir la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET localement dans une invite de commandes active :

  • Sur Mac/Unix, exécutez export PWA_KIT_SLAS_CLIENT_SECRET=$YOUR_CLIENT_SECRET
  • Sous Windows, exécutez set PWA_KIT_SLAS_CLIENT_SECRET=$YOUR_CLIENT_SECRET

Dans un environnement de développement local, vous devrez définir la PWA_KIT_SLAS_CLIENT_SECRET de manière plus permanente afin qu’elle soit incluse automatiquement lorsque vous ouvrez une nouvelle invite de commande.

Sur Mac/Unix, vous pouvez le faire en définissant la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET dans le fichier .bashrc votre machine. Sous Windows, vous pouvez le faire en définissant la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET via anel -> System -> Advanced -> Environment Variables (Panneau de configuration -> Système -> Avancé -> Variables d’environnement).

Si vous exécutez votre site PWA Kit à distance sur Managed Runtime, vous pouvez définir la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET en exécutant la commande suivante dans votre terminal après avoir remplacé les variables pour qu’elles correspondent à votre environnement.

Pour plus d’informations sur l’obtention d’une clé d’API Managed Runtime et les autres propriétés de votre environnement distant, reportez-vous à notre guide Envoyer en Push et déployer des paquets.

Pour plus d’informations, reportez-vous à la section Variables d’environnement.

En plus des étapes de configuration du PWA Kit décrites ci-dessus, sur une boutique à lancement échelonné qui utilise à la fois PWA Kit et SFRA, vous devrez également mettre à jour le plug-in SLAS pour utiliser votre client privé SLAS. Consultez le fichier Lisez-moi du plug-in SLAS pour obtenir des instructions sur la configuration d’un client privé SLAS pour qu’il fonctionne avec SFRA.

Si vous étendez votre implémentation de PWA Kit pour utiliser d’autres points de terminaison SLAS qui nécessitent des clients privés tels que la connexion sans mot de passe, vous pouvez étendre l’ensemble de points de terminaison disponibles à l’aide de l’option applySLASPrivateClientToEndpoints pour runtime.createHandler :

  • Si vous voyez des appels HTTP 400 à /authorize SLAS, le site PWA Kit utilise les flux de client public SLAS avec votre ID client privé. Dans votre fichier _app-config/index.js, définissez la propriété enablePWAKitPrivateClient à l’intérieur de CommerceAPIProvider sur true.

  • Dans un environnement de développement local, le serveur PWA Kit ne démarre pas si la propriété useSLASPrivateClient est activée dans ssr.js et que la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET n’a pas été définie. Définissez la variable d’environnement sur votre clé secrète client SLAS pour continuer.

  • Après avoir déployé votre site PWA Kit sur Managed Runtime, si une erreur HTTP 501 s’affiche lors d’un appel à SLAS, cela peut signifier que la variable d’environnement PWA_KIT_SLAS_CLIENT_SECRET n’a pas été définie. Après l’avoir définie, veuillez attendre quelques minutes pour que le changement s’applique.