簡體   English   中英

如何通過 Cognito 用戶 ID 限制訪問 AWS API 網關端點

[英]How to restricted to access AWS API Gateway endpoint by Cognito user id

我正在嘗試使用 AWS Cognito、Api-Gateway 和 Lambda 來實現電子商務應用程序后端。

要創建新項目,用戶必須登錄。創建項目后,使用的登錄者將成為項目的創建者。 我已經創建了一個 Item-create 端點並為 Apigateway 端點添加了 Cognito-JWT 授權方。

現在我需要實現 Item-update 端點。 必須僅允許項目的創建者進行相關的項目更新。 API 可能是這樣的。

/items/{item-id} PUT
body : { title, price... }
header { Authorization: Cognito-JWT-Token }

使用 AWS 生態系統實現此類功能的最佳方式是什么。 或實現此類功能的任何最佳實踐。

您將為作為用戶 ID 的每個項目創建一個財產owner 通常你會使用來自令牌的sub聲明,它是一個唯一的 ID。 但是,出於各種原因,我不建議將主題值與 cognito 一起使用。 您可以使用 email 確保在有人刪除他們的帳戶並使用相同的 email 創建新帳戶時采取保護措施。

無論您選擇什么,在您的處理程序中將所有者與經過驗證的令牌聲明進行比較。 如果匹配則允許,如果不匹配則禁止。

暫無
暫無

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

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