2011-03-10 146 views
0

我正在學習OAuth,目的是讓訪問者能夠使用Twitter登錄我的網站。我一直在使用基於Python的oauth2庫作爲學習工具,我想我可以獲得大部分的功能。瞭解OAuth和客戶端會話

據我所知,用戶通過服務進行身份驗證(本例中爲Twitter)後,用戶將被髮送到回調URL,參數oauth_tokenoauth_verifier

我不明白的是將這些信息存儲在用戶瀏覽器中的正確方法。如何在後續請求中識別這些值?我是否需要像使用普通網站一樣創建會話系統,或者在OAuth中是否存在一些使其不必要的魔術?

回答

3

您如何處理訪問您網站的人的客戶會話不在OAuth覆蓋範圍內,而這仍由您(以及常用的會話管理框架)決定。

所有OAuth都會告訴您用戶確實是他聲稱的Twitter用戶。然後,您可以將這條信息與您網站上的用戶會話相關聯(就像您登錄屏幕位於您自己的網頁上一樣)。

1

有在微博API

前兩種類型的oauth_tokenoauth_verifier請求令牌即總是在每個過程中的不同,可以被保存到會話中使用getRequestToken方法

1M在PHP告訴視圖,但邏輯是相同的以任何語言 /

* Get request token */ 
$request_token = $connection->getRequestToken(OAUTH_CALLBACK); 

/* Save request token to session */ 
$_SESSION['oauth_token'] = $token = $request_token['oauth_token']; 
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; 

另一個是的accessToken:經由getAccessToken方法retrived

$access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']); 

Array 
(
    [oauth_token] => 223961574-mEctH7SHai###### 
    [oauth_token_secret] => G7Buyxn4okF31Ln3ulAh##### 
    [user_id] => 223961574 
    [screen_name] => ltweetl 
) 

這些令牌是相同的這是在您註冊的應用程序在twitter上

,並在頁面下方已經給...

HTTP:/ /dev.twitter.com/apps/{your_app_id}/my_token。