...
Un problème courant lors de la mise en oeuvre de esup-pay est que l'application n'a pas connaissance de l'IP des clients véritablement et donc des serveurs paybox, mais de l'IP d'un éventuel proxy qui se situe entre esup-pay et les clients.
Installation d'esup-pay derrière un proxy
Cf la question ci-avant, dans sa configuration par défaut esup-pay se charge de vérifier que le client qui appelle l'url de callback d'esup-pay dédiée à paybox a bien une IP qui correspond au listing des IPs publiques de paybox (liste d'IPs fournie officiellement dans la document Paybox : http://www1.paybox.com/espace-integrateur-documentation/la-solution-paybox-system/urls-dappels-et-adresses-ip/ ).
Le mieux est donc de faire en sorte qu'esup-pay puisse avoir connaissance de l'IP du client.
Mais si par le biais d'un mécanisme type proxy vous ne pouvez pas procéder à une telle configuration, alors vous pouvez modifier simplement le fichier security.propeties pour y mettre l'IP de votre proxy ... ou encore pour mettre simplement :
| Bloc de code |
|---|
payboxIpRestriction=permitAll |
Celà fait, vous pouvez faire cette vérification d'IPs en amont d'esup-pay si vous le souhaitez, dans la configuration de votre proxy donc par exemple.
Sachez également que cette vérification par IP n'est pas la seule vérification faite par esup-pay : comme préconisé dans la documentation paybox, esup-pay vérifie également la signature de paybox fournie dans l'appel callback de paybox : ainsi rien que par la signature, esup-pay peut s'assurer que l'appel provient bien de paybox ; sécuriser aussi par le biais du contrôle IP (et donc par un 2 ème facteur, en plus de la vérification de la signature) renforce cette sécurité.