406 "Kabul edilebilir değil"

3 Cevap php

Ben son JanRain OpenID kütüphanesi örnek kullanıyorum ve keşif süreci Yahoo, myopenkimlik.com ve başkaları ile iyi iş gibi görünüyor ...

Ama Google son nokta (https virgül //www.google.com/accounts/o8/kimlik) ile şaşırıp. Ben google sayfasına yönlendirildi önce Consumer.php sadece bir 406 apache hata döndürür.

All my installation is available here : http://www.coplango.com/vendor/openkimlik/examples/

  • Tüketici örnek denemek için tüketici tıklayın, ama discovery.php keşif sırasında olur kanıtlayan, aynı şekilde başarısız ...
  • Ayrıca benim kurulumunu kontrol etmek detect.php kontrol edebilirsiniz -. O istirahat ince bir 503 döndüren bir adrese ulaşmak için çalışır, çünkü HTTP getiriliyor testi 503 ile başarısız olur.

Ben aşağı Accept: application/xrds+xml başlığı belirterek php-Yadis oldu gerekiyordu ama ben kod kontrol ve diğer türleri de bu tür text/html kabul edilir ve application/xhtml+xml.

Herkes bu genelinde geldi?

Herhangi bir ipucu?

Thank you very much!

3 Cevap

Tamam,

Ben daha araştırdık ve bu aşağı ölüm sözcüğü "/ id" içeren herhangi bir dize GET parametresi olarak geçti ise bir 406 hatası döndürür benim sağlayıcı gibi görünüyor. Bu OpenID aşağı değildi anlamaya gün sürdü!

Başka hiç kimse bu elçi gelirse bilgi için ben, PlanetHoster kullanıyorum. Ben onlara bir bilet isteği gönderdi ve cevap bekliyor var.

benim makine de tüketici örneğini çalıştıran, ben aşağıdaki hatayı alıyorum:

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

Bu kıvırmak google https sunucu sertifikası doğrulama başarısız demektir. Eğer CURLOPT_CAINFO /CURLOPT_CAPATH , or - easier - stop validating the cert via CURLOPT_SSL_VERIFYPEER . the following change in Auth/Yadis/ParanoidHTTPFetcher.php Benim için ikincisi başarır aracılığıyla google sertifikasını doğrulamak için CA sertifikaları ile ya sağlayarak curl tarafından bu geçici çözüm olabilir:

--- 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);

Tabii, curl kurulumu da SSL desteği gerekir - sizin phpinfo() edin. CURLOPT_SSL_VERIFYPEER devre dışı olup olmadığını da, CURLOPT_SSL_VERIFYHOST de TRUE veya FALSE gerekebilir.

bakınız ayrıca http://www.openrest.eu/docs/openid-not-completely-enabled-for-google.php (vasıtasıyla Related http://stackoverflow.com/questions/818063/why-doesnt-google-openid-provider-work-with-php-openid-on-my-server).

ÇÖZÜM:

. Htaccess dosyası Koymak

SecFilterEngine Off