簡體   English   中英

AWS Cognito 和 AWS API 網關中的用戶管理和基於令牌的身份驗證

[英]User Management and Token based authentication in AWS Cognito and AWS API Gateway

我正在運行一個基於 FastAPI 的簡單 Rest API。 此 API 在 AWS Lambda 容器中運行。 我添加了 API 網關作為觸發器。

現在我想保護這個 API。

我的期望:

  • 我手動創建用戶和密碼
  • 用戶可以使用他的用戶和密碼調用特定端點來接收訪問令牌
  • 使用此訪問令牌,用戶應該能夠訪問 API,例如通過傳遞承載令牌。

實際上我已經嘗試過 AWS Cognito,但接收訪問令牌的唯一方法是使用 CLIENT_ID 和 CLIENT_SECRET。 而且我不想將此分享給 API 的外部用戶。

我認為這個 CLIENT_ID 和 CLIENT_SECRET 是為網絡應用程序或某事制作的。 像那樣,但這不是我想要的。 我只需要一個簡單的管道:用戶創建 -> 用戶登錄 -> Access_token -> API。

我希望你們中的任何人都能夠分享指南或類似的東西。 也許 AWS Cognito 不適合這樣的用例,如果您這么認為,請告訴我原因。

提前致謝。

是的,絕對有可能,請參考下圖。

  1. 在第一步中,您的應用用戶通過用戶池登錄並在成功驗證后接收用戶池令牌。
  2. 接下來,您的應用程序通過身份池將用戶池令牌交換為 AWS 憑證。
  3. 最后,您的應用程序用戶可以使用這些 AWS 憑證訪問其他 AWS 服務,例如 Amazon S3 或 DynamoDB。

認知

稍后您需要 API-Gateway (lambda) 中的一些自定義授權方來驗證令牌。

暫無
暫無

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

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