令牌

2012-02-15 76 views
0

從我的OAuth的理解自動獲取簽名的請求,該流程是:令牌

  1. 獲得令牌簽名請求
  2. 通過獲取用戶授權
  3. 獲得訪問令牌獲取簽名的請求令牌

我想用php curl自動獲取簽名的請求令牌。一旦我有未簽名的請求令牌,我想要一個功能去授權url,登錄並返回授權的請求令牌。基本上模仿用戶名和密碼的基本授權。這可能嗎?

我知道這不能是一個通用的解決方案,因爲捲曲postdata必須是特定的網站。

感謝

下面是一些代碼,我希望它可以幫助你展示什麼,我試圖做的。

function login($username, $password) { 
    $url = 'https://www.scoop.it/oauth/authorize?' . http_build_query(array('oauth_token' => $requestToken['oauth_token'], 'oauth_callback' => $callbackurl)); 

    $postdata = "email=".$username."&password=".$password; 

    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 


    $response = curl_exec($ch) 
    curl_close ($ch); 
} 
+0

請具體詢問你的要求。你想連接到一些服務(如Twitter)?或者你想學習編寫一個OAuth客戶端? – aitchnyu 2012-02-15 08:41:10

+0

我試圖連接Scoop.it來使用它們的API。我爲OAuth庫使用pecl OAuth模塊。我已經得到一個未簽名的請求令牌,並且我需要將用戶重定向到授權url。我想自動執行重定向步驟。 – 2012-02-15 21:07:34

回答

0

腳本需要:

  1. 取令牌未授權請求
  2. 將用戶重定向到授權URL與令牌和回調URL

你已經完成了第1步;獲取訪問令牌。現在您必須告訴用戶的瀏覽器重定向到授權URL。

header('HTTP/1.1 301 Moved Permanently'); 
header('Location: '.$AUTHORIZE_URL_WITH_TOKEN); 

記住,你有第print()或沒發生過echo()之前發出的所有頭。

+0

授權url將用戶帶到用戶授權請求令牌的登錄頁面。我需要能夠進入該登錄頁面,填寫用戶名和密碼字段,然後點擊提交,然後獲得授權的請求令牌。那可能嗎?對不起,我對PHP/CURL/OAuth很陌生。 – 2012-02-16 09:22:12

+0

這就是授權頁面的**整點**。用戶必須授權您的應用代表他行事。但是不用擔心,訪問令牌會持續很長時間。 – aitchnyu 2012-02-16 10:08:05