2015-07-11 19 views
0

我開發了一個使用Node.js和Express的REST API和一個使用Angular的客戶端應用程序。Node/Express API - 從服務器解耦oAuth登錄

我想驗證使用第三方OAuth服務(Twitter的最初)的用戶,但是所有的教程/閱讀中,我已經做的建議,我必須再加上服務器的Web應用程序,以避免由於不同的域安全性異常。

我希望保持服務器和客戶端分離,因爲我打算在未來某個時候構建本地應用程序。

任何人都可以建議這種設置所需的工作流程嗎?如果服務器和應用程序必須耦合,我會很驚訝,因爲大多數本地應用程序都會有一個解耦設置。

尋找建議,想法,鏈接;)

回答

0

爲了得到一個訪問令牌,以獲取其建議,使從服務器該請求的用戶的信息(你可以安全地存儲的clientId和祕密那裏)。

  1. 你有,你可以授權與特定服務的客戶端的端點,讓我們說/oauth/twitter/authenticate。您可以通過點擊角度應用程序的login with twitter按鈕來調用此端點。
  2. 您有一個終端,其中twitter將成功或失敗地返回信息,例如, /oauth/twitter/callback。您將這些信息成功存儲並潛在地建立用戶會話。也許你有一個端點來檢查用戶是否有活動的用戶會話。

有一個節點模塊,這將使你的生活更輕鬆,這是非常容易使用它作爲快遞中間件,passport,它已經具備了twitter認證策略。