2017-07-24 45 views
1

我正在嘗試在API網關中使用AWS自定義授權程序。如果我理解正確,那麼我應該在自定義授權者身份驗證用戶。我不知道是誰發送了這個請求。我應該使用我自己的服務通過令牌檢測用戶。對?如何驗證AWS Custom Authorizer中的用戶?

回答

1

可以使用多種授權選項

  • IAM授權
  • Cognito授權
  • 自定義授權

如果使用頒發的令牌授予訪問您的AWS資源,那麼你可以STS使用IAM。

同樣,Cognito授權人將認證Cognito Userpools id令牌。

如果您有自己的身份驗證方案或需要自定義身份驗證機制,則可以使用自定義授權程序。

1

只是想在這裏補充我的2美分,這裏是流量:

  1. 一旦承載令牌(可以使用JWT爲好),現印發給 客戶端(即移動應用程序/網絡客戶端調用通過API網關創建,配置和部署的REST API。

  2. 自定義授權程序(用Java編寫的 (您可以使用NodeJS,C#,Python實現它)中的lambda函數)需要驗證載體令牌是否有效。在我的情況下,使用SHA-512算法散列持票人令牌。因此,如果存儲在數據庫中的令牌 和客戶端匹配的令牌基本匹配。

  3. 如果令牌則匹配,自定義授權返回IAM政策允許,但 它的令牌不正確則返回IAM政策拒絕,

API網關嚴正基於從定製授權的響應,如果政策允許它通過呼叫到後端,否則它會返回HTTP代碼403.

希望它會有所幫助。