2009-09-30 4 views
0

J'utilise la dernière JanRain Openid exemple de bibliothèque et le processus de découverte semble bien fonctionner avec Yahoo, myopenid.com et autres ...406 « Inacceptable » erreur lors de l'utilisation Bibliothèque JanRain avec Google OpenID

Mais je suis coincé avec Google endpoint (https point-virgule //www.google.com/accounts/o8/id). Consumer.php renvoie juste une erreur 406 apache, avant d'être redirigé vers la page de google.

Tout mon installation est disponible ici: http://www.coplango.com/vendor/openid/examples/

  • Cliquez sur le consommateur pour essayer l'exemple des consommateurs, mais discovery.php échoue de la même façon, ce qui prouve qu'il se passe lors de la découverte ...
  • Vous pouvez aussi vérifier detect.php pour vérifier mon installation - Le test de récupération HTTP échoue avec un 503 car il essaie d'atteindre une adresse qui renvoie un 503. Le repos est bien.

Je croyais qu'il était tombé à php-Yadis spécifiant en-tête Accept: application/xrds+xml mais j'ai vérifié le code et d'autres types sont également acceptés tels text/html et application/xhtml+xml.

Quelqu'un est-il venu à travers cela?

Une idée?

Merci beaucoup!

Répondre

2

Ok,

J'ai étudié plus loin et il semble être en baisse à mon fournisseur, qui renvoie une erreur 406 si une chaîne contenant le mot de la mort «/id » est passé comme paramètre GET. Ça m'a pris des jours pour comprendre que ce n'était pas à ouvrir !! Pour info j'utilise PlanetHoster, si quelqu'un d'autre vient à travers cela. Je leur ai envoyé une demande de billet et j'attendais leur réponse.

+0

Cela semble avoir été désactivé pour des raisons de sécurité. Voir ce fil si jamais vous avez le même problème: http://stackoverflow.com/questions/1504744/why-would-id-as-a-http-get-parameter-would-be-a-security-breach – ccazette

+0

J'ai aussi cette erreur en utilisant timthumb :(Mon fournisseur est planethoster aussi .. Je vais leur envoyer un ticket .. – numediaweb

+0

le problème est qu'ils n'acceptent pas http: en tant que var dans l'url. – numediaweb

1

exécuter l'exemple de consommation à ma machine, je reçois l'erreur suivante:

Got no response code when fetching https://www.google.com/accounts/o8/id 
CURL error (60): SSL certificate problem, verify that the CA cert is OK. Details: 
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 

cela signifie boucle échoue vérifier le certificat du serveur https Google. vous pouvez contourner ce problème soit en fournissant curl avec des certificats de CA pour vérifier le certificat de google via CURLOPT_CAINFO/CURLOPT_CAPATH, ou - plus facile - arrêter la validation du certificat via CURLOPT_SSL_VERIFYPEER. la modification suivante dans Auth/Yadis/ParanoidHTTPFetcher.php accomplit ce dernier pour moi:

--- ParanoidHTTPFetcher.php.orig  2009-04-22 02:31:20.000000000 +0800 
+++ ParanoidHTTPFetcher.php  2009-09-30 22:35:24.093750000 +0800 
@@ -127,6 +127,9 @@ 
         Auth_OpenID_USER_AGENT.' '.$curl_user_agent); 
      curl_setopt($c, CURLOPT_TIMEOUT, $off); 
      curl_setopt($c, CURLOPT_URL, $url); 
+ 
+   // don't verify server cert 
+   curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE); 

      curl_exec($c); 

bien sûr, votre installation doit également prendre en charge boucle ssl - vérifier votre phpinfo(). également, si CURLOPT_SSL_VERIFYPEER est désactivé, CURLOPT_SSL_VERIFYHOST peut également avoir besoin d'être TRUE ou FALSE.

voir aussi http://www.openrest.eu/docs/openid-not-completely-enabled-for-google.php (via le connexesWhy doesn't Google OpenID provider work with PHP-OpenId on my server?).

+0

Merci beaucoup pour la réponse et les liens! Je suis toujours surpris que je reçois une erreur 406 et non une page blanche comme spécifié dans le lien. 406 est assez précis: il est supposé être en-tête de réponse ... Quoi qu'il en soit, je vais essayer dès que possible et vous le faire savoir! – ccazette

+0

Humm .. Malheureusement, il ne résout pas le problème .. Je vais voir si je peux donner plus d'entrée. Merci beaucoup pour la réponse, qui peut avoir résolu un autre problème! En attendant, si quelqu'un a la moindre idée de ce qui pourrait se passer ici, s'il vous plaît laisser tomber une ligne! – ccazette

+0

tout en définissant CURLOPT_SSL_VERIFYHOST est une solution de contournement rapide et facile, il peut empêcher la boucle de détecter une attaque «man in the middle». – jayarjo

0

SOLUTION:

Au.htaccess file put

SecFilterEngine Off 
Questions connexes