簡體   English   中英

與存儲在DynamoDB中的用戶的AWS Gateway API身份驗證

[英]AWS Gateway API authentication with users stored in DynamoDB

我正在嘗試實施以下方案:

在前端使用Angular SPA,在后端使用Gateway API + lambda函數

由於我的應用程序需要身份驗證,因此會有/ auth端點檢查用戶憑據(用戶存儲在DynamoDB中)並在成功時返回auth令牌(JWT)。 客戶端必須向每個后端請求發送auth令牌,我的lambda函數必須驗證這些令牌。

這個方案看起來不錯,但我想知道它是否可以以某種方式改變,以便檢查令牌的責任被移出lambda函數(上圖中的lambdaAction)?

我已經看過使用第三方服務的教程,如在任何lambda函數之前在Gateway API中使用Auth0進行身份驗證(例如參見鏈接 )但我無法弄清楚如何將這些服務與存儲在我自己的數據庫中的用戶一起使用。

所以,我的問題,簡而言之:是否可以使用Gateway API和基於令牌的身份驗證與存儲在我的數據庫中的用戶

Auth0示例仍然使用Lambda函數來驗證每個請求的JWT。 API網關不會自動驗證JSON Web令牌,您必須提供Lambda函數來執行此操作。

我將研究使用新的API Gateway Custom Authorizers功能。 這樣,您就可以擁有一個Lambda函數,該函數負責驗證每個請求的JWT。 這樣可以將您的身份驗證代碼封裝在單個函數中,而不是在每個Lambda函數中重復。 它還允許您在Lambda中進行身份驗證,而實際的API端點可能指向Lambda以外的其他內容。

除了Mark B的回答。

我寫了一個通用的自定義授權程序,它與Auth0一起使用第三方單點登錄服務。

作為身份驗證的一部分,它可以選擇將Auth0用戶數據存儲到DynamoDB。

圖書館可以在這里找到https://github.com/jghaines/lambda-auth0-authorizer

暫無
暫無

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

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