我正在爲Opera寫一個擴展,它將使用Twitter OAuth API。我知道這是令人不悅的,但我在擴展中使用JavaScript實現了Twitter OAuth。請耐心等待,因爲我不是任何使用OAuth的職業。如何使用通過Javascript獲得的OAuth訪問令牌用PHP進行身份驗證
但這是我想要做的。用戶通過Twitter進行身份驗證後,我會將訪問令牌存儲在localStorage中,其中小部件.preferences對象可用於Opera擴展。以下是我現在不確定的部分。在擴展中,人們可以發表評論。評論將從擴展中發佈到服務器上的腳本中,該腳本將處理並將評論插入到數據庫中的表中。
我現在想知道的事情是,我怎麼能確定發表評論的人的用戶名是發佈評論並在我的擴展中用Twitter登錄的用戶的真實用戶名?
如果我剛剛從擴展發送的用戶名,這將是非常容易操縱只是用戶名的要求,導致了假的用戶名被插入到該註釋數據庫。
我可以把用戶從發佈擴展註釋的訪問令牌,該服務器將與註釋數據接收它。在將註釋插入數據庫之前,我可以使用Javascript擴展發送的訪問令牌來使用PHP檢索該訪問令牌所代表的用戶的Twitter用戶名嗎?或者訪問令牌是每次用戶進行身份驗證時隨機創建的,因此不能像這樣重用?
非常好,我想這就是我想要的!我如何簽名,但不向Twitter發送請求?我正在使用[jsOAuth](https://github.com/bytespider/jsOAuth)庫。我應該使用setAccessToken()方法嗎?或者甚至更好,你知道一篇清楚地表明這種技術的文章嗎? – alpenglow 2012-03-03 06:47:51
我從來沒有使用jsOAuth,所以我無法幫助很多,但它看起來像[toSignatureBaseString](https://github.com/bytespider/jsOAuth/blob/master/src/OAuth/Consumer.js#L417)將生成簽名簽名。 – abraham 2012-03-03 15:17:52
toSignatureBaseString只會創建簽名基本字符串。但是,請將該字符串與祕密一起發送到OAuth.signatureMethod [「HMAC-SHA1」]方法,並且應該完成。您大概可以跳過訪問令牌。 – 2012-03-04 06:57:57