Facebook Connect PHP SDK Curl Peer SSL Doğrulama Hatası

2 Cevap php

Ben bizim uygulama içine Facebook Connect entegre ediyorum. Bu FB Geliştiriciler wiki reklamı gibi ben, http://github.com/facebook/php-sdk en iyi yoldur de Facebook Resmi SDK kullanarak düşündüm.

Ama o iş yapmak için başaramadılar. API kod araştırma yaparken, ben CURLOPT_SSL_VERIFYPEER parametresi hakkında benim önceki deneyimleri hatırladım. Bu parametre, "gerçek" bir varsayılan değeri vardır ve bu ayarlı değil API, örtük o kadar doğru ayarlanır.

Ben false CURLOPT_SSL_VERIFYPEER parametresini değiştirmiş ve sorun çözüldü. O kadar doğru kullanma, ne / almak için ben Graph API alabilirsiniz / me sorgu "boolean (yanlış)" Ancak yanlış aynı kıvırmak sorgusuna o CURLOPT_SSL_VERIFYPEER parametre ayarı bana kullanıcı json nesnesini verdi oldu.

Ne ben burada sormak istiyorum "CURLOPT_SSL_VERIFYPEER" parametre olarak Facebook PHP SDK kullanarak yan etkileri nelerdir ayarlanmış false, olmasıdır. Ben akran doğrulaması olmadan bir kıvrılma oturumu init eğer Daha genel olarak, bu mantıklıdır.

2 Cevap

Bir şey PHP kurulumu ile yanlış. Büyük olasılıkla, SSL sertifikasını doğrulamak için gerekli ENTRUST ara sertifika yok. Bu, sertifika zinciridir;

Certificate chain
 0 s:/C=US/ST=California/L=Palo Alto/O=Facebook, Inc./CN=*.facebook.com
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
 2 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
   i:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority

False CURLOPT_SSL_VERIFYPEER ayarlanması sadece sertifika kontrolünü devre dışı bırakır. Üretimde bunu yapmamalısın.

Bu deneyin, benim için sorun çözüldü

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;