2016-02-13 35 views
0

我的問題是這樣的:Infusionsoft OAuth的回調SSL錯誤PHP

伊夫去developer.infusionsoft.com以獲取Infusionsoft API集成的PHP-SDK助手庫。 我通過作曲家安裝它。我有供應商(文件夾),在作曲家完成後出現。

在教程,供應商文件夾是非常顯著,所以我想我的事情

我使用API​​的代碼是這樣

function loadInfusionsoft($callback) { 
    $data = array(); 
    $data['status'] = "unsuccessfull"; 
    try { 
     $infusionsoft = new \Infusionsoft\Infusionsoft(array(
      'clientId' => 'CLIENTID', 
      'clientSecret' => 'SECRETKEY', 
      'redirectUri' => $callback, 
     )); 
//  If the serialized token is available in the session storage, we tell the SDK 
//  to use that token for subsequent requests. 
     if (isset($_SESSION['token'])) { 
      $infusionsoft->setToken(unserialize($_SESSION['token'])); 
     } 

// If we are returning from Infusionsoft we need to exchange the code for an 
// access token. 
     if (isset($_GET['code']) and ! $infusionsoft->getToken()) { 
      $infusionsoft->requestAccessToken($_GET['code']); 
     } 

     if ($infusionsoft->getToken()) { 
// Save the serialized token to the current session for subsequent requests 
      $_SESSION['token'] = serialize($infusionsoft->getToken()); 
     } else { 
      $href = $infusionsoft->getAuthorizationUrl(); 
      $data['status'] = "successfull"; 
      $data["href"] = $href; 
     } 
    } catch (Exception $ex) { 
     echo $ex->getMessage(); 
    } 
    return $data; 

請多多包涵,我是新的正確的道路上對此,我對發生的事情有了一個模糊的線索。我在infusionsoft教程(git)上得到了這段代碼。並在理解事物的中間,我得到了一個錯誤。

cURL error 60: SSL certificate problem: self signed certificate in certificate chain (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) 

雖然我沒有馬上得到那個錯誤。根據我的理解,

  • 它將跳過所有的if語句並將着陸在else語句中。
  • 在else語句中,我將獲得infusionsoft身份驗證的href鏈接。最有可能的是href值爲<a>
  • 在頁面上
  • ,點擊該鏈接後,會去的loggedIn infusionsoft成功登錄後
  • ,它會重定向到我的本地主機(因爲回調變量)與GET變量(如範圍,和代碼)
  • 它會再次調用這個函數。
  • 我相信它會進入if isset($_GET['code'])聲明
  • 得到了錯誤

    捲曲錯誤60:SSL證書問題:在證書鏈自簽名證書(見http://curl.haxx.se/libcurl/c/libcurl-errors.html

  • 在我的研究,我需要證書。

  • 上找對供應商的文件夾(infusionsoft PHP SDK)我看到 有一個cacert.pem文件..我的研究,這是一個 證書文件

  • 我搜索瞭如何使用它,但我總是看到關於crt和cert文件。

im imcked。

下一步怎麼辦?搜索infusionsoft社區,但沒有運氣。

我相信它不是一個infusionsoft問題,而僅僅是我的錯誤配置。 有人嗎?

+0

你有系統上cacert.pem的副本嗎?你可以從curl.haxx.se(https://curl.haxx.se/ca/cacert.pem)下載 – RamRaider

+0

@RamRaider是的我在infusionsoft的PHP-SDK上有它,但我不知道如何使用它。正如我上面的陳述所表明的那樣 –

回答

0

只是想分享。經過幾次試驗和錯誤。

它只是很簡單的錯誤(問題是我不太懂行的這個)在php.ini文件

,路徑添加到CACERT。像這樣。

curl.cainfo = "C:\path\to\cacert.pem" 

請注意,curl.cainfo必須具有絕對路徑。