Lianodel Posted May 27, 2013 Share Posted May 27, 2013 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 More sharing options...
J. Danse Posted May 27, 2013 Share Posted May 27, 2013 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 More sharing options...
Lianodel Posted May 27, 2013 Author Share Posted May 27, 2013 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 More sharing options...
J. Danse Posted May 27, 2013 Share Posted May 27, 2013 Dans l'idée, si la demande de connexion à l'API tournait en boucle, c'est qu'il aurait fallu activer cette option dans la pagé dédiée du WebService. Donc, il semble que ça ne soit pas la solution. :-/ Link to comment Share on other sites More sharing options...
Lianodel Posted May 27, 2013 Author Share Posted May 27, 2013 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 More sharing options...
Lianodel Posted May 28, 2013 Author Share Posted May 28, 2013 Personne a de solution donc ? C'est quand même dingue de pas pouvoir faire fonctionner l'api quand il y a un htpasswd... Link to comment Share on other sites More sharing options...
Lianodel Posted May 29, 2013 Author Share Posted May 29, 2013 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now