2016-03-03 70 views
0

免責聲明:我是非常新的Node開發人員,也是JavaScript的新成員。我在Java,C++和圍繞這些的框架方面有很多經驗,所以我理解開發範例,但我不熟悉如何構造JS或設計模式。我很快就完成了這個任務:/如何利用請求承諾從Oauth服務器請求OAuth2令牌並將請求標頭包含在請求標頭中

我們的節點應用程序需要向需要OAuth2身份驗證的服務發出請求。

我們的應用可以成功請求並接收OAuth載體令牌,並且還可以使用該令牌向服務發出請求。但它的一切都非常分離。

我希望做的是掛鉤的截擊請求模塊(我們使用的請求的承諾),其被稱爲例如:

  1. 請求模塊之前,調用將控制權交給美國請求 服務
  2. 我們得到了緩存OAuth令牌頭的副本或申請新的令牌,並建立了標題(和緩存它)
  3. 我們將新的OAuth令牌頭以請求
  4. 然後返回控制到請求模塊fo r正常執行

我看了看request-promise並發現它在掛鉤'request'模塊上做了類似的事情。並且查看nodejs的'request'模塊,看起來好像有一個用於添加OAuth頭部的鉤子。

我的問題是如何利用掛鉤,如果它存在。這是最好的方法嗎?最後,是否有這個特定情況的示例/模式。我在節點中看到了很多OAuth示例,但其中大部分是用於驗證傳入客戶端的,而不是傳出的請求,並且我發現的示例與我們已有的類似,具有非耦合的過程。

非常感謝在此提供任何幫助。

回答

-1

我在request-promise模塊(https://www.npmjs.com/package/request-promise)中沒有找到任何相關文檔。

所以我的猜測是你應該有一個服務RequestBuilder構建要傳遞的選項對象並自動添加所有你需要的東西。所以,你的請求將最終看起來像這樣:

rp(RequestBuilder.get('uri')) 

隨着RequestBuilder.get建設get函數並添加必要的標頭。