2010-12-03 2 views
8

Je travaille sur une bibliothèque pour communiquer avec Microsoft Exchange en utilisant PHP. Tout fonctionne bien sur mes serveurs de production, mais je continue d'obtenir un 401 non autorisé sur ma machine de développement. J'ai essayé d'utiliser curl depuis la ligne de commande et j'obtiens les mêmes résultats.cURL renvoie toujours 401 avec NTLM

En utilisant les rendements suivants "401" sur ma machine:

curl https://mail.example.com/EWS/Exchange.asmx -w %{http_code} --ntlm -u username:password 

Les mêmes déclarations d'appel exact "302" sur mes machines de production, ce qui est ce que je pense.

Ma machine de développement utilise curl 7.19.7 et ma machine de production utilise curl 7.18.0.

+0

cela ressemble à une question mieux adaptée à un des autres sites .. – zanlok

Répondre

7

Ceci est une vieille question, mais si elle peut éventuellement aider quelqu'un, je me suis dit que je posterais une réponse.

Il y a un bug avec NTLM et curl sur certaines versions récentes d'Ubuntu (10.04 et plus je crois).

Si vous utilisez le module boucle de PHP sur ubuntu et votre version libcurl est affectée par ce bogue, cela pourrait expliquer pourquoi vos demandes d'authentification échouent.

Si vous ajoutez le drapeau bavard à votre commande (-v), vous devriez voir quelque chose comme ça dans la partie de la réponse:

  • gss_init_sec_context() a échoué:: fichier cache de vérification des pouvoirs '/ tmp/krb5cc_1000' pas trouvé

Si vous voyez ceci, vous êtes affecté par le bogue et vous devrez soit rétrograder votre bibliothèque, soit trouver une autre machine.

J'espère que cette aide: P

+0

J'ai récemment trouvé ce rapport de bug, je devrais vraiment avoir mis à jour ici pour refléter cela. Pour référence, c'est là que j'ai rencontré le problème à l'origine: https://github.com/jamesiarmes/php-ews/issues/11. – JamesArmes

+0

Ceci est également confirmé par rapport à CentOS 6.4: https://bugzilla.redhat.com/show_bug.cgi?id=799557 (Je sais que le titre du bogue donne l'impression qu'il n'est pas lié, mais c'est le même bug.) – Johann

0

Pour tous les utilisateurs CentOS/RHEL 6.X s'il vous plaît jeter un oeil dans:

https://bugzilla.redhat.com/show_bug.cgi?id=953864

+0

Je sais que le lien donne des indications pour une réponse, mais les réponses basées sur les liens deviennent obsolètes si le lien ne fonctionne pas. Pourriez-vous s'il vous plaît envisager de résumer ce que le lien que vous avez indiqué dans votre réponse? – Nunser

+0

Il y a un bug à l'intérieur de curl qui pervertit l'authentification. Dans le bugzilla, un correctif est disponible. Il sera inclus dans centos/rhel 6.5. –

Questions connexes