0

我開發了網絡和移動跨平臺應用。REST API的安全與跨平臺應用(AWS雲/服務)

Web部件是從的Node.js/Express應用程序提供服務,並具有基於passport.js用戶認證,使用本地註冊,Facebook和谷歌AUTH。它部分使用Jade進行服務器端渲染,但即使使用Angular來從API請求動態內容。

移動客戶端與Ionic2 /(Angular2)開發,並通過調用Node.js的服務器,與護照JWT戰略authentificates用戶。

兩個客戶端,Web和移動正在使用REST API建立與AWS API Gateaway和多LAMBDA微服務的背後,使用DynamoDB,Elaticsearch等

其實我與API安全掙扎。需要用戶認證/成員身份的端點可以使用現有的認證策略由JWT令牌處理。但是,大約90%的API服務於不需要驗證的數據。

這些都是向世界開放,現在,因爲我沒有找到保護他們一個很好的策略。我的目標是確保只有移動和網絡應用的用戶才能訪問這些端點。

我怎麼會存檔?如果有人能給我一個關於最佳方法的暗示,那將是非常棒的。

謝謝!

+0

您可以在API網關中使用自定義授權人來驗證jwt令牌。任何理由不使用它? – Ashan

+0

是的,這就是我實際上對需要身份驗證的端點所做的事情,因爲只有經過身份驗證的用戶才擁有令牌。問題在於Apis爲任何未經過認證的用戶提供一般數據。 – Stefan

回答

0

雖然你說不需要這些服務的認證,它看起來像你對我真的需要驗證。由於您要求提供請求者的身份證明,即使該身份是「只有移動和Web應用程序的用戶纔可以訪問」的要求,因此您正在談論身份驗證。所以你可能只是想爲這些端點使用JWT。

您也可能想授權您的用戶,因爲在決定應該允許哪些具體身份的情況下。這樣,您可以讓所有通過身份驗證的用戶訪問所有端點,但只有那些顯示會員證明(在JWT中)的用戶才能訪問受保護的端點。