我不明白爲什麼我的用戶池不會在我的API中驗證方法。使用API網關的Cognito用戶池
我已經開始使用簡單的petstore示例,併爲我的用戶池添加了一個Authorizer。測試按鈕顯示我所擁有的JWT正在工作。我將該授權人應用於/pets
的POST方法,將授權添加爲請求標頭。
當POST到/pets
與郵差(或捲曲),傳遞Authorization: Bearer <token>
頭我總是得到{"message":"Unauthorized"}
我與創建鏈接到用戶池的標識池周圍亂七八糟的響應,經過身份驗證的角色有一個允許訪問API網關的策略。我在用戶池中創建了一個組來分配這個組。
有一些我想念的東西。我希望允許任何通過Cognito提供有效ID JWT的用戶訪問POST方法。
政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:Invoke"
],
"Resource": "arn:aws:execute-api:us-east-1:*:XXX/*/POST/*"
}
]
}
其中在模擬器工作正常。我並不十分確定這項政策應該發揮作用。我並不清楚提供的用戶池身份驗證器如何獲取該策略,但它並未出現在我看到的任何文檔中。我剛開始在牆上扔飛鏢。
只希望聽到任何人已經用Userpool保護了API網關端點。
您可以發佈允許訪問API網關的政策嗎?請注意,該操作需要「執行api:調用」而不是「apigateway:*」(這是API管理API) –