Jump to content

[Prestashop 1.5.2] API/Webservice et htpasswd


Lianodel

Recommended Posts

Bonjour,

 

J'ai un soucis pour me connecter à l'API de prestashop.

 

J'ai un Prestashop avec plusieurs boutiques installé sur un serveur. Ce Prestashop est protégé par un htpasswd car il est en développement et qu'il ne doit pas être accessible par n'importe qui.

 

Le problème c'est qu'il est impossible de se connecter à l'API dans ce cas là. Si j'enlève l'authentification par htpasswd, il n'y a pas de problème, mais si elle est activé, lorsque que je me rend sur laboutique/api, il me demande en boucle l'authentification htpasswd d'une part, et l'authentification du Webservice (ou il faut rentrer l'authentification key) d'autre part, et ça en boucle.

 

J'ai essayé des techniques pour exclure l'authentification htpasswd pour les urls en ^/api/ mais ça ne fonctionne pas...

 

- Le htpasswd est correct, il fonctionne sur les autres pages sans soucis.

- L'authentification est définie dans le virtual host (dans le .htaccess, ça ne change rien)

- Il n'y a pas de .htaccess ailleurs qu'à la racine du prestashop

- L'authentification au Webservice est bon et il est bien activé.

 

J'ai absolument besoin de cet accès à l'API et de la protection htpasswd, il y a t'il un moyen pour que les deux cohabitent dans la joie et la bonne humeur ?

 

Merci !

Link to comment
Share on other sites

Avez-vous déjà pu avoir accès à l'API en vous connectant lorsque vous aviez enlevé l'accès protégé ?

 

J'ai eu ce soucis hier soir, et j'ai du activer le fait que PHP étant en mode CGI. Ne serait-ce pas le même soucis pour vous ?

Link to comment
Share on other sites

Oui, j'ai pu sans soucis m'y connecter en enlevant la protection htpasswd.

 

Pour PHP en mode CGI, je ne sais pas du tout... Comment je peux savoir ça ?

 

Je pense que le plus simple serait de créer une exception pour l'accès à l'api, pour pas qu'il prenne en compte l'authentification, mais je n'y suis pas arrivé, pour infos, voilà ce que j'ai fait :

 

SetEnvIf Request_URI ^/api/ noauth=1

AuthName "Please login."
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /home/www/le_prestashop/.htpasswd

Order Deny,Allow
Satisfy any
Deny from all
Require valid-user
Allow from env=noauth

 

Merci pour votre réponse !

Link to comment
Share on other sites

Reste à savoir quelle est la solution :/

 

Pour le mode CGI de PHP, ça semble poser des problèmes de sécurité. Et vu qu'il y a d'autres sites hébergés sur le même serveur, je voudrais pas risquer de tout casser.

Link to comment
Share on other sites

Bon bah à mesure désespérée, solution désespérée :

 

J'ai commenté la partie sur l'authentification du fichier dispatcher.php dans le dossier webservice.

 

C'est moche, mais c'est efficace, dans tous les cas, le .htpasswd protège l'accès.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...