Sécurisation des services REST à l'aide de Secure Sockets Layer (SSL)
Certains services REST doivent être envoyés en mode sécurisé via SSL (Secure Sockets Layer). Vous pouvez ajouter une exigence SSL pour les services REST nouveaux ou existants.
Le fichier Rest.war/WEB-INF/config/com.ibm.commerce.rest/wc-rest-security.xml définit tous les services REST qui nécessitent SSL. Dans ce fichier, les préfixes d'URL de ressource sont spécifiés et toutes les requêtes qui correspondent aux préfixes d'URL doivent être envoyées sur HTTPS. Sinon, une réponse d'erreur est générée.
L'authentification partielle est activée par défaut dans le fichier wc-rest-security.xml et désignée par l'indicateur
partialAuthentication. Par exemple :
<security>
<partialAuthentication resource="store/{storeId}/wishlist" method="POST" enabled="true"/>
</security>
Où chaque ressource répertoriée comme partialAuthentication=true est autorisée à consommer le jeton d'authentification partielle stocké dans le cookie WC_PERSISTENT. Cette configuration n'est utilisée que si la consommation de cookies est autorisée sur l'API REST. La valeur par défaut est false. Lorsqu'un service est appelé, l'URL de service est associée aux modèles de ressources, en commençant par le modèle le plus long, correspondant au comportement des nœuds sslConfig dans le fichier.Vous pouvez créer votre propre fichier wc-rest-security.xml dans le répertoire Rest.war/WEB-INF/config/com.ibm.commerce.rest-ext pour ajouter une exigence SSL pour les services REST nouveaux ou existants.
Procédure
- Créez un fichier wc-rest-security.xml dans le répertoire suivant, s'il n'existe pas déjà :
- Rest.war/WEB-INF/config/com.ibm.commerce.rest-ext
- Ajoutez le préfixe d'URL au fichier. L'attribut de la méthode est facultatif. S'il n'est pas spécifié, il s'applique à toutes les méthodes.
Par exemple :
<?xml version="1.0" encoding="UTF-8"?> <security> <!-- Define if SSL is enabled for a resource and its methods. --> <!-- When not defined, SSL is disabled for the resource by default. --> <!-- An optional "method" attribute may be set for each sslConfig element with value to be GET, POST, PUT, or DELETE. --> <sslConfig resource="store/{storeId}/myresource" enabled="true"/> </security> - Si vous souhaitez activer l'authentification partielle, assurez-vous que chaque ressource est répertoriée en tant que
partialAuthentication=truepour lui permettre de consommer le jeton d'authentification partielle ou le cookie d'authentification partielle. - Enregistrez vos modifications et fermez le fichier.
- Redémarrez votre serveur HCL Commerce.
- Si vous souhaitez activer l'accélération SSL, assurez-vous de modifier les propriétés SSLAcceleratorOption et inSSLPort dans le fichier de configuration de composant Foundation (EAR Search). Pour plus d'informations sur les valeurs de propriété, reportez-vous au Propriétés de configuration REST dans le fichier de configuration du composant (wc-component.xml). Pour plus d'informations sur la mise à jour de la configuration REST, voir Modification des propriétés de configuration REST dans le fichier de configuration du composant (wc-component.xml).