簡體   English   中英

使用Ampling Best Practices的帶有AWS Cognito的Node js微服務

[英]Node js microseervices with aws cognito using amplify best practice

我正在開發一個節點js api,我將其分成幾個小的api(微服務),它們使用請求和響應相互通信,而Im則使用angular作為前端,現在我想使用cognito和awsmplify保護我的api,令我感到困惑的是,我應該在項目中放置AWS放大代碼在哪里? 我應該放在前端還是應該有一個單獨的node js api來處理安全性? 而且,如果有更好的方法,您可以提出建議嗎,這是Node和angular的新手,是Java開發人員,所以可以提供任何幫助。

有幾點要考慮。 您沒有提供有關服務通信方式的詳細信息,這里我假設使用HTTP。

考慮到您想保護自己的API,將安全性放在前端會使您的API容易受到不使用前端的任何人的攻擊。 因此,通常來說,擁有一個公共網關/安全后端服務來保護您的API服務是很有意義的。

可能是這樣的

Frontend <-> Gateway <-> Microservices

代替

Frontend <-> Microservices

同時,這將使您有機會在以后的時間添加服務架構的更復雜的業務流程,而無需調整前端。

現在,關於身份驗證, passport.js為您提供了一個非常易於使用的界面,可將身份驗證添加到傳入請求中。 它支持多種身份驗證方法,包括但不限於OpenID connect(它反過來適用於AWS / cognito)。 express.js一起,您應該能夠以很少的代碼行就可以提供簡單的路由/安全服務,並可以根據需要使用更多的功能/安全性擴展選項(例如,您可能希望在某些時候添加會話處理,或更多與安全性相關的東西,例如XSS保護之類。有一些用於express這些主題的中間件用於express )。

[edit]關於安全性的更多注釋。 總體上可能值得看一下OWASP ,並且作為一個更具體的起點,是OWASP的ASVS項目 ,該項目為您提供了在開發Web應用程序時可能/應該遵循的有關應用程序安全性的一組准則。 有大量備忘單,它們為常見主題提供了指南/最佳實踐,例如會話處理,Cookie處理,身份驗證和其他與安全性相關的主題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM